什么是事件代理和事件委托:
事件代理和事件委托都是源于事件冒泡机制的,一个交互丰富的网页,离不开各种复杂的事件,事件太多就会造成网页性能下降,有内存泄漏的风险。这个时候事件委托和事件代理就起大作用了,使对象不被直接触发,避免内存泄漏和网页性能下降的风险
如何使用事件代理:
需要用到target(IE为srcElement)
为很多个li添加事件,只需要为他的父元素添加事件
<ul id="lists"> <li>liOne</li> <li>liTwo</li> <li>liThree</li> <li>liFour</li> </ul>
<script type="text/javascript"> document.getElementById("lists").addEventListener("click",function(e) { if(e.target.nodeName.toUpperCase() == "LI") { console.log("List was clicked!"); } }); </script>