一、什麼是一個事件委托? 說到事件委托先說javascript的事件機制。 在js中分為DOM 0級事件和 DOM 2級事件。 下麵來看下什麼是一個dom0級事件: DOM 0級事件的缺點,當你給一個對象綁定多個事件的時候後寫的事件會覆蓋先寫的事件 下麵是DOM2級事件: DOM 2級事件: add ...
一、什麼是一個事件委托?
說到事件委托先說javascript的事件機制。
在js中分為DOM 0級事件和 DOM 2級事件。
下麵來看下什麼是一個dom0級事件:
DOM 0級事件的缺點,當你給一個對象綁定多個事件的時候後寫的事件會覆蓋先寫的事件
下麵是DOM2級事件:
DOM 2級事件:
addEventListener('事件類型',函數名,true/false);
參數1:事件類型不需要加on
參數2:回調函數
參數3:true代表捕獲 dalse代表捕獲
IE的DOM2級事件:
attachEvent()
參數1:事件類型 需要加on
參數2:回調函數
解綁事件方法:detachEvent();
事件流: 當一個HTML元素產生一個事件時,該事件會在元素節點與根節點之間的路徑傳播,路徑所經過的節點都會收到該事件,這個傳播的過程叫做DOM事件流
冒泡事件:微軟提出的 事件由子元素傳遞到父元素的過程,叫做冒泡
捕獲事件:網景提出的 事件由父元素到子元素傳遞的過程,叫做事件捕獲
現在終於帶了事件委托了:
事件委托:通過事件冒泡的原理,利用父級去觸發子級的事件。
事件對象:對象代表事件的狀態,比如事件在其中發生的元素、鍵盤按鍵的狀態、滑鼠的位置、滑鼠按鈕的狀態
事件委托:
獲取事件對象的相容寫法:
Btn.click = function(e){
var e = e||event;
}
獲取targe他的相容寫法:
var target = e.target||e.srctarget;