事件代理(事件委托)

事件代理又称为事件委托,一般作用于当多个相同元素需要使用同一个事件时,可以委托给他们的同一父元素上进行处理,这样会优化性能,不用给每个子元素都注册一遍事件,节省代码空间,减少代码冗余,减少事件注册;

事件委托的原理是DOM元素的事件冒泡

事件冒泡

事件冒泡是指父元素和子元素有相同的事件,当触发子元素事件时,会向上冒泡,同时也会触发父元素事件

事件冒泡又分为三个阶段:
1、捕获阶段:从window对象传导到目标节点(上层传到底层)称为“捕获阶段”,捕获阶段不会响应任何事件;
2、目标阶段:在目标节点上触发称为“目标阶段”;
3、冒泡阶段:从目标节点传导回window对象(从底层传回上层),称为“冒泡阶段”;

事件委托原理就是利用事件冒泡机制把里层所需要响应的事件绑定到外层

事件代理(事件委托)、事件冒泡相关推荐

  1. JavaScript事件代理和委托

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

  2. javascript 事件冒泡和事件代理

    事件冒泡 简单的讲,当子元素的事件处理函数被触发(如onclick),该事件会从事件源(当前子元素)逐级向上层元素传递,触发祖先元素的 onclik 事件,一直到最外层 html 根元素. 这可能会带 ...

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

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

  4. JS 事件高级(包括DOM事件流,阻止事件冒泡,阻止事件默认行为,,,以及对我来说,很好用的 事件代理)

    事件对象概念 事件处理函数:事件发生时调用的函数 事件对象:window.event,内置的对象,事件发生的时候会将所有和事件相关的信息都存储在事件对象中,鼠标位置,事件类型,事件目标... //事件 ...

  5. 【DOM系列】你真的理解事件委托(事件代理)吗?

    目录 1. 基本概念 1.1 原理 2. 事件冒泡和事件捕获 代码演示 3. addEventListener的第三个参数 4. 事件委托阶段案例 4.1 事件冒泡案例 4.2 事件捕获案例 5. 经 ...

  6. JavaScript系列—简述JS中的事件委托和事件代理

    JS中的事件委托和事件代理 什么是事件委托? 事件委托还有一个名字叫事件代理,JS高程上讲:事件委托就是利用事件冒泡,只制定一个时间处理程序,就可以管理某一类型的所有事件.我用取快递来解释这个现象: ...

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

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

  8. JS手动实现事件代理

    简介 由于事件在冒泡阶段向上传播到父节点,因此可以把子节点监听的事件在父节点的监听,由父节点的监听函数统一处理多个子元素的的事件,这种方法就叫做事件的代理,处理如下: var ul = documen ...

  9. react组件事件代理的原理

    React的事件系统和浏览器事件系统相比,主要增加了两个特性:事件代理.和事件自动绑定. 1.事件代理 区别于浏览器事件处理方式,React并未将事件处理函数与对应的DOM节点直接关联,而是在顶层使用 ...

  10. 浏览器事件代理机制原理?

    关于浏览器事件代理 弄明白浏览器事件代理事前,先了解下事件.事件流. 一,事件 HTML DOM 允许 JavaScript 对 HTML 事件作出反应.即操作对应HTML元素时,会触发相应事件(包含 ...

最新文章

  1. Java ReentrantLock 详解
  2. 解决IE5、IE6、IE7与W3C标准的冲突(IE7.js IE8.js)
  3. html ajax提交表单实例,Ajax提交表单并接收json实例代码
  4. Lnc2cancer 3.0,lncRNAs和circRNAs数据更新及分析工具使用指南
  5. NATSserver配置具体解释
  6. 按钮灭了_劣质灭火器整瓶都灭不掉一盆火 教你几招辨别消防产品真假
  7. python装饰器详解-如何理解Python装饰器?
  8. 23. jQuery 遍历 - 过滤
  9. 并查集应用——PAT甲级2019春季
  10. Shell脚本中调用另外一个脚本的方法
  11. estore简版商城
  12. cad没有命令输入框_CAD命令,教您CAD命令栏不见了怎么调出来
  13. python 处理大数据
  14. 青藤 #10115 栈练习1
  15. 照片尺寸像素怎么调?在线改图片大小怎么改?
  16. 怎么使用计算机计算公式,科学计算器的使用方法 科学计算器的使用指导
  17. 数据泄漏防御DLP的确切定义
  18. dom4j依赖包中的SAXReader运行时报错:空指针异常
  19. php爬取邮箱,SAS爬虫的简单应用-爬取帖子下的邮箱,给他们发一封邮件...
  20. sw 多线程_SOLIDWORKS 2018 如何选择CPU(i7, i9, 线程撕裂者Threadripper 对比测试)

热门文章

  1. estimateGas gas required exceeds allowance (6989519) or always failing transaction
  2. Quartus联合Vscode开发教程
  3. 转帖:长时间坐着工作腰疼的解决办法
  4. 医学图像分割基石-UNet
  5. Asp.Net中几种相似的标记符号:解释及用法 还有许多细节
  6. MySQL笔记-mysql用户管理
  7. Java求最大公因数
  8. 10 种常用的CSS框架,收藏一下
  9. 高防服务器的原理,高防服务器防御力怎么样?高防服务器防御原理讲解
  10. Android系统启动