0
点赞
收藏
分享

微信扫一扫

JavaScript-筑基(十二)事件委托(代理、委派)

快乐小码农 2022-01-14 阅读 43

作用:只操作一次DOM,提高了程序的性能。

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

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

<ul>
        <li>点击就会变噢</li>
        <li>点击就会变噢</li>
        <li>点击就会变噢</li>
        <li>点击就会变噢</li>
        <li>点击就会变噢</li>
    </ul>
    <script>
        // 事件委托的核心原理:给父节点添加侦听器,利用事件冒泡影响每一个子节点
        var ul = document.querySelector('ul');
        ul.addEventListener('click', function(e) {
            e.target.style.backgroundColor = 'green';
        },false)
        //点击li冒泡到ul,触发ul事件处理程序,而e.target返回触发事件对象是li
    </script>

学习快乐!

举报

相关推荐

0 条评论