美文网首页
事件委托的原理,优缺点

事件委托的原理,优缺点

作者: 清汤饺子 | 来源:发表于2018-11-24 16:39 被阅读0次

事件委托是利用事件冒泡原理,让节点的父级代为执行事件。而不需要循环遍历元素的子节点,大大减少dom操作;
缺点:
1.不适应所有的事件,只适用于支持事件冒泡的事件
2.原理上执行就近委托

举个例子:100个li都有相同的点击事件,那么常见的方法是for循环100个节点,都执行同一个事件,我们使用事件委托的话,让它的父级ul做事件处理,当点击li时,事件会冒泡到ul上,这是我们定义的事件就会执行啦。

当然,为了防止父级点击事件也生效,需要判断event.target的值。下面是示例

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<ul class="box">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
<script type="text/javascript">

    // 不使用事件委托
    /*var oLi = document.getElementsByTagName('li');
    for(let i=0;i<oLi.length;i++){
        oLi[i].onclick = function(){
            alert(i)
        }
    }*/

    //使用事件委托
    var oUl = document.getElementsByTagName('ul')[0];
    oUl.onclick = function (ev = window.event) {
        let target = ev.target || ev.srcElement;
        if(target.nodeName.toLowerCase() === 'li'){
            alert(target.innerHTML);
        }
    }
</script>
</body>
</html>

相关文章

  • 事件委托的原理,优缺点

    事件委托是利用事件冒泡原理,让节点的父级代为执行事件。而不需要循环遍历元素的子节点,大大减少dom操作;缺点:1....

  • 事件委托

    ------------------事件委托----------------- 事件: 事件委托: 原理: 冒泡 ...

  • 事件委托笔记

    事件委托原理:事件冒泡机制。 什么是事件委托: 事件委托——给父元素绑定事件,用来监听子元素的冒泡事件,并找到是哪...

  • 6-jQuery事件操作

    delegate(), undelegate() 事件委托把点击事件加到了ul身上, 利用冒泡原理 阻止事件委托 ...

  • 事件委托

    事件委托 什么是事件委托(事件代理): 事件委托就是利用事件冒泡的原理,将事件注册到父元素上,减少子元素的事件注册...

  • 事件(二)

    一.事件委托# 事件委托就是利用事件冒泡的原理,把事件添加到父元素或祖先元素上,触发执行效果 事件委托优点1、提高...

  • 事件委托、 jquery元素节点操作、

    事件委托 事件委托就是利用冒泡的原理,把事件加到父级上,通过判断事件来源的子集,执行相应的操作,事件委托首先可以极...

  • 使用append动态添加的子节点,需要重新绑定事件才能使用

    解决方法:使用委托事件调取 事件委托是通过事件冒泡的原理,利用父级去触发子级的事件。如下html,如果不用事件委托...

  • 事件委托原理

    为什么使用事件委托 一般来说,dom需要有事件处理程序,我们都会直接给它设事件处理程序就好了,那如果是很多的dom...

  • 事件的代理委托原理、优缺点。自定义事件

    靠的事件的冒泡机制实现的 优点: 缺点: DOM自定义事件 不是由DOM触发的,它的目的是让开发人员创建自己的事件...

网友评论

      本文标题:事件委托的原理,优缺点

      本文链接:https://www.haomeiwen.com/subject/hudyqqtx.html