美文网首页
事件机制&事件代理(事件委托)

事件机制&事件代理(事件委托)

作者: bounsail | 来源:发表于2021-08-12 10:19 被阅读0次

事件代理&原理

把原本需要绑定在子元素的响应事件(click、keydown......)委托给父元素,让父元素担当事件监听的职务。
事件代理的原理是DOM元素的事件冒泡。

为什么要用事件委托

减少DOM操作:不断的与dom节点进行交互,访问dom的次数越多,引起浏览器重绘与重排的次数也就越多,就会延长整个页面的交互就绪时间;用事件委托,就会将所有的操作放到js程序里面,只对它的父级对象进行操作,与dom的操作就只需要交互一次,就能大大的减少与dom的交互次数,提高性能;

事件委托的优点&作用

【1】可以大量节省内存占用,减少事件注册,JavaScript和DOM节点之间的关联变少了

比如在ul上代理所有li的click事件就非常棒;
如果给每个li列表项都绑定一个函数,那对内存的消耗是非常大的,因此较好的解决办法就是将li元素的点击事件绑定到它的父元素ul身上,执行事件的时候再去匹配判断目标元素。

【2】方便地动态添加和修改元素,不需要因为元素的改动而修改事件绑定。实现当新增子对象时无需再次对其绑定(动态绑定事件)

通过 AJAX 或者用户操作动态的增加或者删除列表项li元素,那么在每一次改变的时候都需要重新给新增的元素绑定事件,给即将删去的元素解绑事件;

如果用事件委托就没有这种麻烦,因为事件是绑定在父层的,和目标元素的增减是没有关系的,执行到目标元素是在真正响应执行事件函数的过程中去匹配的;所以使用事件在动态绑定事件的情况下是可以减少很多重复工作的。

事件机制

事件,在触发时执行;(烧水例子:烧水时不影响人做其他事情,水壶开了会响—相当于触发事件,进而有了人过来关火行为事件)

事件流:事件捕获和事件冒泡
事件源:在哪个元素上发生的,p、a、div、form表单
事件:到底发生了什么事件,click、mouseover、load、submit、focus
监听器:如何应对事件的发生,如何回应发生的事件,通常以函数的形式来出现。

相关文章

  • 事件机制&事件代理(事件委托)

    事件代理&原理 把原本需要绑定在子元素的响应事件(click、keydown......)委托给父元素,让父元素担...

  • js事件深入学习

    JavaScript的事件机制包含,事件绑定、事件监听、事件委托(事件代理)等 js中的事件流 ① .冒泡:当下级...

  • js的事件委托机制

    什么是事件委托?为什么要用事件委托? 事件委托机制又叫事件代理.我们给dom绑定一个事件往往很简单 可是如果给一个...

  • 概念

    事件委托,事件代理 事件代理又称之为事件委托。是JavaScript中常用绑定事件的常用技巧。顾名思义,“事件代理...

  • js事件委托

    前言 事件委托,也叫事件代理,是js事件中的一种常用技巧。事件委托的原理就是利用冒泡事件的机制,为一些节点的祖先节...

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

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

  • 事件委托

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

  • 事件委托笔记

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

  • 事件委托(事件代理)

    利用事件的冒泡传播机制(触发当前元素的某个行为,它父级所有的相关行为都会被触发),如果一个容器中很多元素需要绑定事...

  • 事件委托(事件代理)

    链接地址:http://www.cnblogs.com/liugang-vip/p/5616484.htmlhtt...

网友评论

      本文标题:事件机制&事件代理(事件委托)

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