************************阻止默認行為*************************
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 當前對象