js事件物件 事件委託

2021-08-18 04:56:56 字數 1002 閱讀 6372

var div = document.getelementsbytagname('div')[0];

div.onclick = function

(e)

chromeiee

window.event

firefox

iechrome

event.target

event.srcelement

event.target

event.srcelement

var

event = e || window.event;

var target = event.target || event.srcelement;

1li>

2li>

3li>

4li>

5li>

6li>

7li>

8li>

9li>

10li>

ul>

var li = document.getelementsbytagname('li');

var len = li.length;

for(var i = 0; i < len; i++)

}script>

這種方法可以輸出順序,但是如果資料過多,或者動態的向裡面新增就不能正常的輸出了

var ul = document.getelementsbytagname('ul')[0];

ul.onclick = function (e)

這種方法減少了for迴圈,節省了效率.這種方法叫事件委託

利用事件冒泡,和事件源物件進行處理

優點:

效能 : 不需要迴圈所有的元素乙個個繫結事件

靈活 : 當有新的子元素時不需要重新繫結事件

js 事件物件 event 事件委託

div.onclick function event event.target 火狐只有這個 event.srcelement ie只有這個 這兩chrome都有 可以用來事件委託 理用事件冒泡,和事件源物件進行處理 優點效能 不需要迴圈所有的元素乙個個繫結事件 靈活 當有新的子元素時不需要重新繫結...

js事件委託

乙個ul列表,裡邊有乙個1000個li元素,如何為這1000個li元素新增click事件?function false 參考文章 作為閉包使用的 function 已知ab兩個有序陣列,a陣列長度m,b陣列長度n,請最多迴圈m n次找出a,b陣列中相同的元素 對 事件處理程式過多 問題的解決方案就是...

js事件委託

事件委託 通俗的講把自己應該做的事情交給別人去做,也就是利用冒泡原理,把這個這個事件交給父級或祖先去觸發執行效果。用例項來說。需求是這樣的 滑鼠放到li上對應的li背景變灰。利用事件冒泡實現 ul on mouseover function e 也許有人會說,我們直接給所有li都綁上事件也可以啊,一...