JavaScript Event(事件) - Event Object(事件物件)

Event Object(事件物件)

在瀏覽器中的事件都是以「物件」的型式存在,但IE與標準DOM瀏覽器之間在取事件物件上有差別。


IE 事件物件

事件物件是window物件的一個屬性event,例如,

getP.onclick = function(){
  //取得事件物件
  var evt = window.event;
}

DOM瀏覽器事件物件

事件物件須使用唯一參數傳給事件管理函數,例如,

getP.onclick = function(evt){...} 

相容性新增事件監聽

在處理IE與DOM事件相容性時,通常會這樣做,例如,

function (evt) {
 // 透過測試window.event來判斷是否是IE來決定事件物件的建立
 if (window.event) 
   evt = window.event; 
   ...
 else
   // DOM事件
} 

取消事件

事件 → 自訂事件處理 → Browser預設事件處理,取消事件處理函數,只需設成null,例如,

// 取消document的click事件
document.onclick = null;
// 取消mybutton物件的click事件
document.form1.mybutton.onclick = null; 

在自訂事件處理函數取消事件,只需傳回false即可。

return false;

沒有留言:

張貼留言

感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。