JavaScript 事件委托

事件委托也称为事件代理,在jQuery里面称为事件委派。

事件委托的原理:
不是每个子节点单独设置事件监听器,而是事件监听器设置在其父节点上,然后利用冒泡原理影响设置每个子节点。给父节点添加侦听器, 利用事件冒泡影响每一个子节点

当点击当前节点,会实现逐渐向上一个节点探查,当探查到存在监听器时,执行监听器

优点:当需要点击每个li都会弹出对话框时,需要给每个li注册事件,是非常辛苦的,而且访问DOM的次数越多, 这就会延长整个页面的交互就绪时间。当我们使用事件委托,只对父节点进行操作,只操作了一次DOM ,提高了程序的性能。 

<body>
    <ul>
        <li>弹框</li>
        <li>弹框</li>
        <li>弹框</li>
    </ul>
    <script>
        var ul = document.querySelector('ul');
        ul.addEventListener('click', function(e) {
            // alert('弹框');
            // e.target 这个可以得到我们点击的对象
            e.target.style.backgroundColor = 'pink';
        })
    </script>
</body>

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值