- <ul id="ul">
- <li id="li1">dododo</li>
- <li id="li2">dododo</li>
- <li id="li3">dododo</li>
- </ul>
如果想對多個(gè)li對象進(jìn)行事件偵聽,這時(shí)候用事件委托是不二的選擇了。事件委托就是利用了事件冒泡,對document中某一個(gè)元素進(jìn)行偵聽,其實(shí)也就是偵聽了其下的所有子元素。
javascript代碼如下:
- var EventUtil = {
- addEvent: function(node, type, listener) {
- if (node.addEventListener) {
- node.addEventListener(type, listener, false);
- } else {
- node.attachEvent("on"+type, listener);
- }},
- getTarget: function(event){
- return event.target || event.srcElement;
-
-
-
- }
- }
-
- var node = document.getElementById("ul");
-
- EventUtil.addEvent(node,"click",function(event){
- alert(EventUtil.getTarget(event).id);
- });
當(dāng)鼠標(biāo)單擊li元素時(shí),會(huì)彈出顯示當(dāng)前l(fā)i id的警告框,以上代碼在ie8, firefox5測試通過