1. 程式人生 > >jquery筆記:事件物件 event.currentTarget,event.data,event.delegateTarget,event.relatedTarget.......

jquery筆記:事件物件 event.currentTarget,event.data,event.delegateTarget,event.relatedTarget.......

event.currentTarget

在事件冒泡階段中的當前DOM元素

$("p").click(function(event) {
    alert( event.currentTarget === this ); // true  
}); 

event.data

當前執行的處理器被繫結的時候,包含可選的資料傳遞給jQuery.fn.bind。
$("a").each(function(i) {
    $(this).bind('click', {index:i}, function(e){
       alert('my index is ' + e.data.index);
    });
  });   

event.delegateTarget

當currently-called的jQuery事件處理程式附加元素。

此屬性是最經常有用是通過過.delegate() 或.on()附加委派的事件,事件處理程式附加在正在處理的元素的祖先上。它可用於,例如,指明委派識別和刪除事件處理程式。

$(".box").on("click", "button", function(event) {
  $(event.delegateTarget).css("background-color", "red");
}); 

event.relatedTarget

在事件中涉及的其它任何DOM元素。

對於 mouseout 事件,它指向被進入的元素;對於 mousein 事件,它指向被離開的元素。

$("a").mouseout(function(event) {
    alert(event.relatedTarget.nodeName); // "DIV"
  });  

event.result

這個屬性包含了當前事件事件最後觸發的那個處理函式的返回值,除非值是 undefined 。

event.target

最初觸發事件的DOM元素。

這是註冊事件時的物件,或者它的子元素。通常用於比較 event.target 和 this 來確定事件是不是由於冒泡而觸發的。經常用於事件冒泡時處理事件委託。

event.timeStamp

這個屬性返回事件觸發時距離1970年1月1日的毫秒數。

event.type

事件型別。

event.which

針對鍵盤和滑鼠事件,這個屬效能確定你到底按的是哪個鍵或按鈕。

event.which 將 event.keyCode 和 event.charCode 標準化了。推薦用 event.which 來監視鍵盤輸入。