-->什麼是事件委託
-->事件委託原理
-->事件委託優點
-->事件源 / 目標源
一、什麼是事件委託
通俗的講,onclick,onmouseover,onmouseout等這些就是事件
委託,就是這個事件本來應該加在某些元素上的,而你卻加到其他元素上來完成這個事件。
我是p標籤二、事件委託原理
利用事件傳播(冒泡)機制,就可以實現事件委託 。
具體來說,事件委託就是事件目標自身不處理事件,而是把處理任務委託給其父元素或者祖先元素,甚至根元素(document)來完成。
三、事件委託優點
1、提高效能、效率高
2、新新增的元素也會有之前的事件(給未來元素新增事件)
3、**量少
可以給未來元素新增事件:
"box">四、獲取當前事件源"btn">建立
在火狐中獲得觸發事件的元素(事件源)可以用:event.target
在ie中獲得觸發事件的元素(事件源)可以用:event.srcelement
var target = event.target||
event.srcelement;
1五、獲取目標源2323
242526
我是p標籤
27我是span標籤
28我是em標籤
29我是h4標籤
30我是strong標籤31
我是var標籤
32我是h5標籤
33我是span標籤
34我是p標籤
353655
56
1、在mouseover事件中,它指向滑鼠來自哪個元素
event.relatedtarget火狐獲取觸發事件的目標源,與target相反,也是事件委託型別
fromelement ie獲取觸發事件的目標源,與srcelement相反,也是事件委託型別
var from=event.relatedtarget||event.fromelement;
12、2335
3637
4064
6566
67
在mouseout事件中,它指向滑鼠去往的那個元素
event.relatedtarget火狐獲取觸發事件的目標源,與target相反,也是事件委託型別
event.toelement ie獲取觸發事件的目標源,與srcelement相反,也是事件委託型別
var to=event.relatedtarget||event.toelement;
六、事件監聽-不覆蓋
12313
141536
3738
JS之事件物件
當事件的響應函式被觸發時,瀏覽器每次都會將乙個事件物件作為實參傳遞進響應函式。現在咱們通過獲取滑鼠座標來分析事件物件吧。直接上 結果 chrome及其它瀏覽器正常彈出,ie8出現錯誤,在ie8響應函式被觸發時,瀏覽器不會傳遞事件物件,ie8及以下的瀏覽器中,是將事件物件作為window物件的屬性儲存...
JS之事件監聽
一 如果事件監聽類似於如下寫法,則最終只會執行最後乙個事件監聽,其他監聽都會被覆蓋掉。window.onload funtion window.onload funtion window.onload funtion 最終只會輸出 3 二 如果事件監聽類似於如下寫法,則每個事件監聽都會被執行,其他監...
js事件委託
乙個ul列表,裡邊有乙個1000個li元素,如何為這1000個li元素新增click事件?function false 參考文章 作為閉包使用的 function 已知ab兩個有序陣列,a陣列長度m,b陣列長度n,請最多迴圈m n次找出a,b陣列中相同的元素 對 事件處理程式過多 問題的解決方案就是...