什么是事件代理(事件委托)有什么好处

事件委托的原理:

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

优点:

  • 减少内存消耗和dom操作,提高性能在JavaScript中,添加到页面上的事件处理程序数量将直接关系到页面的整体运行性能,因此需要不断的操作dom,那么引起浏览器重绘和回流的可能也就越多,页面交互的事件也就变的越长,这就是为什么要减少dom操作的原因。每一个事件处理函数,都是一个对象,多一个事件处理函数,内存中就会被多占用一部分空间。如果要用事件委托,就会将所有的操作放到js程序里面,只对它的父级进行操作,与dom的操作就只需要交互一次,这样就能大大的减少与dom的交互次数,提高性能。
  • 动态绑定事件 因为事件绑定在父级元素 所以新增的元素也能触发同样的事件

什么是事件代理(事件委托)有什么好处相关推荐

  1. JavaScript事件代理和委托

    2019独角兽企业重金招聘Python工程师标准>>> 浏览器的事件冒泡 当事件发生后,这个事件就要开始传播.例如我们点击一个按钮时,就会产生一个click事件,但这个按钮本身不能处 ...

  2. 简诉事件代理(事件委托)及其优点

    事件代理 不给每个子节点单独设置事件监听器,而是设置在其父节点上,然后利用冒泡原理设置每个子节点. 优点 1. 减少内存消耗和 dom 操作,提高性能. 在 JavaScript 中,添加到页面上的事 ...

  3. JS 事件代理和事件委托

    目录 事件委托的概念理解 为什么要用事件委托 事件委托的原理: 事件代理(委托)实现 总结: 事件委托的概念理解 为什么叫事件委托?它还有一个名字叫事件代理. JavaScript高级程序设计上讲:事 ...

  4. Event事件-1:addEventListener事件监听 / 事件冒泡事件捕获 / 事件委托 / preventDefault 阻止默认行为 / cancelBubble、stopPropa...

    addEventListener 事件监听器 target.addEventListener(type, listener[, options|useCapture])     添加事件监听 参数: ...

  5. 使用事件代理实现vue的手风琴组件

    1.为什么要使用事件代理? 在项目中要做一个手风琴组件,需求是页面created事件中请求数据,以显示在列表中,加载数据时显示"正在加载",没有数据了就显示"没有更多数据 ...

  6. 用例子解释事件模型和事件代理

    事件模型 事件传播模型 在说事件代理之前,先来说一下事件模型. 在浏览器开发的早期,面对事件触发模型的问题,所有的程序员都认为事件触发不应该是直接触发的,而应该在文档中有一个传播的过程,然而事件传播的 ...

  7. 事件链、事件代理、页面的渲染过程、style的操作、防抖与节流【DOM(四)】

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目录 文章目录 1.事件链(冒泡目标捕获) (1)事件链原理 (2)阻止冒泡和默认事件 2.事件代理(面试笔试题重点) 3. ...

  8. a标签点击事件_DOM事件机制

    前言 本文主要介绍DOM事件级别.DOM事件模型.事件流.事件代理和Event对象常见的应用,希望对你们有些帮助和启发! 一.DOM事件级别 DOM级别一共可以分为四个级别:DOM0级.DOM1级.D ...

  9. js中的事件委托或是事件代理详解(转载)

    起因: 1.这是前端面试的经典题型,要去找工作的小伙伴看看还是有帮助的: 2.其实我一直都没弄明白,写这个一是为了备忘,二是给其他的知其然不知其所以然的小伙伴们以参考: 概述: 那什么叫事件委托呢?它 ...

  10. JS事件委托或者事件代理原理以及实现

    事件委托(事件代理)原理:简单的说就是将事件交由别人来执行,就是将子元素的事件通过冒泡的形式交由父元素来执行. 为什么要用时间委托? 在JavaScript中,添加到页面上的事件处理程序数量将直接关系 ...

最新文章

  1. 截图推荐:FastStone Capture使用教程
  2. java源码之HashMap和HashTable的异同
  3. 压缩感知进阶——有关稀疏矩阵
  4. mysql正则表达式简单
  5. 浅谈auto_ptr智能指针
  6. (Access denied for user 'root'@'localhost' (using password: NO))
  7. CentOS-6.5-x86_64 最小化安装,已安装包的总数,这些包?
  8. nginx+tocmat ip_hash做负载均衡时,一台tomcat宕机时没有转发问题
  9. maven+springMvc+velocity
  10. 弘辽科技:手淘推荐流量总是忽高忽低如何稳定获取
  11. linux vim 安装失败,ubuntu安装vim失败怎么办
  12. 【sketchup 2021】草图大师的辅助建模工具1【量角器与文字、尺寸标注与三维字、实体工具】
  13. 各大电商平台API调用、上传图片到淘宝API接口
  14. MAC直接的剪切快捷键
  15. Go语言国际电子表格文档格式标准实践
  16. 函数练习题,个人名片展示
  17. Nutch 分布式运行模式 (v1.14)
  18. 桌面小宠物项目开发_C# 桌面宠物 示例源码(透明窗体)
  19. java版本CRC校验(CRC-16/X25)
  20. 开源项目之 Wall Clock Control(模拟时钟)

热门文章

  1. qemu qcow2镜像如何缩小
  2. win10局域网硬盘文件访问
  3. python代码:VOC to cityscapes标注文件转换
  4. 老船履带工具使用方法_船舶通导设备的日常维护要点归纳
  5. 记录一下今天安装tomcat时遇到的问题(初学者笔记)
  6. vs2012运行项目报未能加载文件或程序集“System.Web.Mvc, Version=4.0.0.1,Culture=neutral”问题和解决方法...
  7. mysql s1009_mysql 学习笔记
  8. 微信企业号开发中文乱码问题
  9. RPA场景案例〡赋能“人力资源”,工作效率一键提升数倍
  10. python画八卦图的指令_12行javascript代码绘制一个八卦图