事件委托 === 事件委派 ===事件代理
需求,我要给每个a绑定事件,但是a太多了,这时候就需要事件委托。
/*html*/
<ul id="ulNode">
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
</ul>
/*js*/
let ulNode = document.getElementById("ulNode")
ulNode.addEventListener("click", function (event) {
let e = event || window.event
let target = e.target || e.srcElement;
console.log('123')
})
事件委托:就是把多个a的绑定事件交个ul去做。
事件委托是利用事件冒泡(从下往上冒泡,也就是当a元素接收到事件的时候 ,a会把事件传给自己的父级(如果父级有父级的话,就一直传递),最后到window(a–>li–>ul)),把自己(a)的事情交给父亲(ul)做。