美文网首页JavaScript
JavaScript--事件委托

JavaScript--事件委托

作者: 开着五菱宏光的小白 | 来源:发表于2019-04-21 14:07 被阅读0次

什么是事件委托

  • 把目标元素的事件委托给父元素
  • 利用了事件冒泡的原理

事件委托有什么好处

  • 管理的函数变少了。不需要为每个元素都添加监听函数。对于同一个父节点下面类似的子元素,可以通过委托给父元素的监听函数来处理事件。
  • 可以方便地动态添加和修改元素,不需要因为元素的改动而修改事件绑定。(比如后来添加子元素依然拥有事件)
  • JavaScript和DOM节点之间的关联变少了,这样也就减少了因循环引用而带来的内存泄漏发生的概率。

事件委托的应用场景

  • 很多商品放在一个ul下面的li标签里面,点击添加或删除商品,就可以绑定商品的父元素ul标签,通过事件代理去找到要点击的商品,完成添加删除事件

为什么要使用事件委托

  • 绑定事件太多,浏览器占用内存变大,严重影响性能
  • Ajax出现,局部刷新盛行,每次加载完,都要重新绑定事件
  • 部分浏览器移除元素时,绑定的事件没有被及时移除,导致内存泄漏,严重影响性能
  • Ajax中重复绑定,导致代码耦合性过大,影响后期维护

事件委托的解决方案

      ul.onclick = function (e) {
            var e = e || event;
            var target = e.target || e.srcElement //目标对象的dom
            if (target.tagName == "LI") {
                console.log(target.innerHTML);
            }
       }

相关文章

  • JavaScript--事件委托

    什么是事件委托 把目标元素的事件委托给父元素 利用了事件冒泡的原理 事件委托有什么好处 管理的函数变少了。不需要为...

  • 事件委托

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

  • web前端面试题@六(事件委托)

    *说到事件委托,我们首先先要知道什么是事件委托—— · 那么什么是事件委托呢??? JS里的事件委托就是当事件...

  • 前端常见面试题(十一)@郝晨光

    什么是事件委托?为什么要用事件委托? 什么是事件委托? 事件委托,又称事件代理,就是将元素的事件处理交由父元素或者...

  • 十六、DOM之事件委托 ------ 2020-01-05

    1、事件委托: 2、事件委托的优势:

  • JQuery事件委托

    JavaScript(jQuery)中的事件委托 一:什么是事件委托? 事件委托是利用事件冒泡,只指定一个事件...

  • 事件委托笔记

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

  • 事件委托

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

  • JavaScript 事件委托

    1. 事件委托 事件处理程序过多的解决方法就是事件委托,事件委托利用的是事件冒泡。事件冒泡:事件由最具体的元素接收...

  • 原始类型与事情委托

    1.绑定事件: 二、事件冒泡与事件捕获 事件委托 案例见事件委托 计时器

网友评论

    本文标题:JavaScript--事件委托

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