JS事件委托

1. 什么是事件委托

事件委托:事件委托也称为事件代理,把事情委托给别人,代为处理。
理解:说白了就是,不给子元素注册事件,给父元素注册事件,把处理代码在父元素的事件中执行。

2. 事件委托的原理

​ 不是每个子节点单独设置事件监听器,而是事件监听器设置在其父节点上,然后利用事件冒泡原理影响设置每个子节点。

​ 例如:给 ul 注册点击事件,然后利用事件对象的 target 来找到当前点击的 li,因为点击 li,事件会冒泡到 ul 上, ul 有注册事件,就会触发事件监听器。

3. 事件委托的作用

我们只操作了一次 DOM ,提高了程序的性能。
动态新创建的子元素,也拥有事件。
优点:
​ 1.大量减少内存占用,减少事件注册。
​ 2.新增元素实现动态绑定事件

    <ul>
        <li>点我点我</li>
        <li>点我点我</li>  
        <li>点我点我</li>

    </ul>
    <script>
        /*事件委托的核心原理:给父节点添加侦听器, 
        利用事件冒泡影响每一个子节点*/
        var ul = document.querySelector('ul');
        ul.addEventListener('click', function(e) {
            // e.target 这个可以得到我们点击的对象
            e.target.style.backgroundColor = 'pink';
        })
    </script>

4. 总结

事件委托,子元素委托父元素
什么情况下用事件委托:当要给一组元素添加相同事件时,可以直接添加给父亲
事件委托原理:事件冒泡,当触发子元素的事件时,通过冒泡,事件传递给父亲,父亲身上绑定有事件处理程序,进而触发

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值