JavaScript阻止預設跳轉
************************阻止預設行為*************************
IE: event.returnValue = false;
FF: e.preventDefault();
相容: return false; //使用這種方式繫結的時候一定要加return
<a href="http://www.baidu.com" onclick="return test(event);">跳到百度1</a>
一.超連結的預設行為-跳轉
<a href="http://www.baidu.com" onclick="return test(event);">跳到百度1</a>
a標籤.onclick = function(){
return test(event);
}
二.阻止右鍵選單彈出
document.oncontextmenu = function(e){
//阻止預設行為的程式碼
}
三.阻止表單的預設行為-提交
************************事件物件************************
對當前事件的一個具體描述 封裝到事件物件中,類似異常物件
一.xhtml 繫結方式
1. IE
使用者單擊按鈕, 單擊事件產生後 IE瀏覽器會隱式的建立一個事件物件 event
它是全域性變數, 可以直接使用event 或 window.event來訪問
2. FF
第一種繫結方式 火狐並不會隱式建立事件物件,需要程式設計師主動的給事件處理函式傳入一個事件物件event
二. dom 繫結方式
1.IE
和第一種繫結方式一樣
2.FF
也會隱式的建立事件物件, 只不過這個事件物件 不是全域性變數 , 作為事件處理函式的第一個引數傳遞過來的
************************獲得事件物件的第二種方式(瞭解)************************
e = e||event
************************演示: 小球移動************************
**********************************事件源************************
第一種方式
function getEventSource (e) {
var eventSource = null;
if(document.attachEvent){
eventSource = event.srcElement;
}else{
eventSource = e.target;
}
return eventSource;
}
第二種方式(瞭解)
e=e ||event;
eventSource = e.srcElement || e.target;
第三種 this
*****************************************this********************************************
一. 普通函式中
this 指向的是 window 物件
二.用在事件處理函式中
指向是事件源
如果是第一種繫結方式 在事件處理函式 test() 中 列印this 把test()函式當做普通函式用的...
三. 如果用在自定義類中
this 當前物件