事件冒泡与事件捕获

JavaScript——事件捕获和事件冒泡 JavaScript中事件捕获和事件冒泡的来由以及具体讲解,阻止事件捕获和冒泡(事件传播)的方法。 阅读详情
事件传递有两种方式:冒泡与捕获。
事件传递定义了元素事件触发的顺序。 如果你将 <p> 元素插入到 <div> 元素中,用户点击 <p> 元素, 哪个元素的 "click" 事件先被触发呢?
在 冒泡 中,内部元素的事件会先被触发,然后再触发外部元素,即: <p> 元素的点击事件先触发,然后会触发 <div> 元素的点击事件。
在 捕获 中,外部元素的事件会先被触发,然后才会触发内部元素的事件,即: <div> 元素的点击事件先触发 ,然后再触发 <p> 元素的点击事件。
第一种:事件冒泡
       IE提出的事件流叫做事件冒泡,即事件开始时由最具体的元素接收,然后逐级向上传播到较为不具体的节点,看一下以下示例:

接下来我们点击一下页面上的p元素,看看会发生什么:
   正如上面我们所说的,它会从一个最具体的的元素接收,然后逐级向上传播, p=>button=>div=>body..........事件冒泡可以形象地比喻为把一颗石头投入水中,泡泡会一直从水底冒出水面。
 
 第二种:事件捕获
         网景公司提出的事件流叫事件捕获流。
          事件捕获流的思想是不太具体的DOM节点应该更早接收到事件,而最具体的节点应该最后接收到事件,针对上面同样的例子,点击按钮,那么此时click事件会按照这样传播:(下面我们就借用addEventListener的第三个参数来模拟事件捕获流)


同样我们看一下后台的打印结果:
react有专属的阻止事件冒泡方法,e.nativeEvent.stopImmediatePropagation()
handleBarDisplay(e){
       e.nativeEvent.stopImmediatePropagation();
       this.setState({barDisplay:false})
}
事件冒泡VS事件捕获 阅读详情

相关推荐

关于事件冒泡和事件捕获

这里写自定义目录标题什么是事件事件流事件冒泡和事件捕获的概念事件冒泡事件捕获事件冒泡示例事件捕获示例阻止冒泡方法一方法二(jQuery,同时会阻止默认事件) 什么是事件 事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间。JavaScript与HTML之间的交互就是通过事件实现的。可以用侦听器或处理程序来预定事件,以便事件发生时执行相应的代码。 事件流 事件流描述的是从页面接收事件的顺序。 为什...

BIGDgreen 1101

解释事件冒泡和事件捕获的原理,并说明它们之间的区别与使用场景

事件冒泡和事件捕获是什么?能做什么?看完这篇你就明白了

weixin_53291256的博客 6476

优化求解器性能:当分支切割算法中的gap停滞不前时如何应对

本文深入探讨了当分支切割算法求解复杂整数规划问题时,gap停滞不前的根本原因与应对策略。文章指出gap停滞源于上界(找不到更优整数解)或下界(证明过程缓慢)提升受阻,并提供了从模型改写、自定义割平面、调整搜索策略到参数调优等一系列实战方法,帮助优化工程师有效打破求解僵局,推动gap下降。

weixin_29294597的博客 381

事件冒泡和捕获

事件冒泡和捕获

weixin_58155690的博客 6615

无源定位之时差估计的精确时差估计算法(ETDE)及MATLAB实现程序

时差估计算法之精确时差估计(ETDE)欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想

伊谢尔伦的林中小路 4255

Pixel 6 Pro刷Android 13变砖自救指南:fastboot全分区擦除与手动刷入教程

本文提供了一份详细的Pixel 6 Pro在Android 13升级过程中变砖后的自救指南。针对因super分区锁死或动态分区异常导致的无法启动问题,文章核心介绍了通过fastboot命令手动擦除关键分区并逐一刷入官方镜像的完整救砖流程,帮助用户实现系统重建与恢复。

weixin_29208327的博客 371

解释下事件冒泡和事件捕获的区别

在前端开发中,事件冒泡和事件捕获是两种JavaScript事件传播机制。了解这两种机制对于理解前端开发中的事件处理非常重要。

有我更精彩的博客 1405

模拟量传输4-20ma电流

大家可能会非常熟悉RS232,RS485,CAN等工业上常用的总线,他们都是传输数字信号的方式。那么,我们用什么方式来传输模拟信号呢?工业上普遍需要测量各类非电物理量,例如温度、压力、速度、角度等,这些都需要转换成模拟量电信号才能传输到几百米外的控制室或显示设备上。工业上最广泛采用的是用4~20mA电流来传输模拟量。 采用电流信号的原因是不容易受干扰,因为工业现场的噪声电压的幅度可能达到数V,但是噪声的功率很弱,所以噪声电流通常小于nA级别,因此给4-20mA传输带来的误差非常小;电流源内阻趋于无穷.

tangdongming的博客 1万+

事件捕获和事件冒泡有什么区别

例如,当用户点击一个按钮时,该按钮的点击事件会被触发,但在触发该按钮的点击事件之前,事件会先从文档根节点开始向下捕获,可能触发该按钮的祖先元素、父元素的点击事件。当用户点击按钮时,事件会先在子元素上触发,然后事件会向上冒泡到父元素,最终触发父元素的点击事件处理函数。事件冒泡是指当一个元素上的事件被触发后,该事件会从该元素开始向上冒泡,依次触发父元素的相同事件,直到冒泡到文档根节点为止。例如,当用户点击一个按钮时,该按钮的点击事件会被触发,然后该事件会向上冒泡,可能触发该按钮的父元素、祖先元素的点击事件。

哼哼哼哼哼 2202

从SRIOV到SIOV:PCIe虚拟化技术下一代革命

如果说SR-IOV是过去十年PCIe虚拟化的“标杆方案”,那SIOV就是为超大规模云数据中心、AI集群量身打造的“破局者”——它解决了SR-IOV难以逾越的扩展性瓶颈,同时平衡了性能、成本与生态兼容性。今天就从“为什么需要SIOV”到“SIOV到底强在哪”,再到“未来要解决什么问题”,做一次全方位深度拆解。

存储随笔 2558

【硬刚Hadoop】HADOOP MAPREDUCE(1):概述

本文是对《【硬刚大数据之学习路线篇】从零到大数据专家的学习指南(全面升级版)》的Hadoop部分补充。 1 MapReduce定义 MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。 MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。 2MapReduce优缺点 2.1 优点 1)MapReduce易于编程 它简单的实现一些接口,就可以完成一个分布式程序..

微信搜:import_bigdata,大数据领域硬核原创作者 462

事件捕获方式和冒泡方式—它们的区别是什么?

😄看一个document代码段: 你看我点一下里面的div,它就会一个冒泡事件,但是这个冒泡事件我们是看不到的,但是它是按这个顺序发生的:从最里面依次沿着上层触发,再看一下模型图: 事件捕获:事件捕获实际上是为了在事件到达最终目标 前拦截事件,顾名思义就是捕获某个东西。😄看这个document代码段: 同样的图,但是它们的触发顺序却不同,如下:可以看出它是从最外面开始触发的,直到捕获到你点击的div为止,模型图如下: 事件冒泡:一个由里到外,冒泡,向上层延申。事件捕获:一个由外到里,前往捕获,形成向下趋..

橙子的博客 531

肺癌术后随访离散选择实验(DCE)设计与SAS实现

随着肺癌早期诊断和治疗技术的进步,肺癌患者的生存率显著提高,术后随访管理成为提升患者生活质量的关键环节。然而,如何在有限的医疗资源下设计出既符合患者需求又具有成本效益的随访方案,是临床决策面临的重要挑战。 离散选择实验(Discrete Choice Experiment, DCE)是一种定量研究方法,通过模拟真实世界的选择情境,测量患者对不同随访方案属性的偏好程度。本研究旨在通过DCE方法,系统评估肺癌术后患者对随访服务的偏好,为制定以患者为中心的随访策略提供循证依据。

huanghm88的专栏 97

什么是事件冒泡与事件捕获,如何阻止事件冒泡

什么是事件冒泡与事件捕获,如何阻止事件冒泡 事件冒泡 事件由具体的dom节点 接收,然后逐级向上传播到不具体的节点。是一种由内到外的传播

qq_36537108的博客 2628

数学工具箱:Clarke与Park变换

本文详细解析了FOC(磁场定向控制)中的核心数学工具——Clarke变换与Park变换。首先阐述了坐标变换的必要性:将复杂的三相交流系统简化为直流系统,便于精确控制。Clarke变换将三相静止坐标系转换为两相静止坐标系,减少变量数量;Park变换进一步将两相静止坐标系转换为两相旋转坐标系,实现交流量到直流量的转换。文章提供了两种变换的数学公式、物理意义图解及C语言实现代码,并简要介绍了逆变换过程。这些变换为电机控制提供了关键的数学基础,后续将结合GD32F303的FPU特性进行优化实现。

汽车电子软件领域知识分享 177

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【JavaScript】十六、事件捕获和事件冒泡

此时,点击红色的儿子元素部分,因为红色部分也属于绿色的父亲div,更属于整个document,所以三个点击事件都触发,但因为现在addEventListener是true,所以,是事件捕获,从document到父div再到子div,因此,效果是:弹窗依次从父元素到子元素。对比给div绑定一个点击事件,当事件被触发时:会经历两个阶段,分别是捕获阶段、冒泡阶段,事件流则指的是事件完整执行过程中的这个流动路径。事件冒泡🫧:当一个元素的事件被触发时,同样的事件将会在该元素的所有祖先元素中依次被触发。

llg___的博客 1747

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

js中的事件冒泡与事件捕获

js中的事件冒泡与事件捕获。当点击黑色容器时,开始进行事件捕获,Js事件流从window上往事件触发处传播,遇到注册的捕获事件就会触发;但是捕获阶段默认是不处理的(addEventListener第三个参数默认是false),紧接着传播到事件触发处,触发注册的事件,打印div3,然后进行冒泡阶段从事件触发处 往window上传播,遇到注册的冒泡事件会触发,打印div2,再打印div1。就是因为点击了盒子的子元素(黄色和红色部分),事件冒泡到了绑定拖拽事件的父元素身上(蓝色部分),导致触发的是拖拽效果。

~~~ 3909

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

事件冒泡与事件捕获详解

事件流 概念 首先,我们来了解一下什么是事件流。 事件流:当事件发生时,会在发生事件的元素节点与DOM树根节点之间按照特定的顺序进行传播, 这个过程称之为事件流。 (当页面触发一个事件时,会按照一定的顺序来响应事件,事件的响应过程称为事件流。) 分类 事件流可分为冒泡型事件流、捕获型事件流。 (1)事件冒泡:微软公司提出的,事件由子元素传递到父元素的过程叫做冒泡(false)。 查找事件(事件响应)的顺序:文本节点–>元素节点—>body—>html—>document(例如点击事件

星河梦~的博客 5049

事件冒泡与捕获

事件流流程:先捕获(根→目标),后冒泡(目标→根)。事件绑定:通过的第三个参数控制阶段(true=捕获,false=冒泡)。事件控制阻止传播,阻止默认行为,额外中断同节点事件。应用场景:捕获适合全局控制,冒泡适合事件代理(减少内存占用),阻止方法用于避免事件干扰。

胡西风的博客 753

事件的冒泡与捕获机制

本文介绍了JavaScript事件流中的冒泡和捕获机制。冒泡是从目标元素向外层父元素传播(默认),捕获则是从外层向内层传播(需设置true)。两者主要区别在于传播方向:冒泡由内向外,捕获由外向内。通过stopPropagation()可阻止事件传播。文中还列举了支持冒泡/捕获的事件(如click、submit等)和不支持的事件(如focus、load等),并提供了代码示例说明如何使用这些机制及阻止传播的方法。

W2004828的博客 672

关于事件捕获和事件冒泡的理解

我一直对事件捕获和事件冒泡是挺困惑的,好像理解了,但又感觉哪里不对。这篇文章打算深入探讨一些细节性的问题,更好的理解事件捕获和事件冒泡。

ScottePerk的博客 1229

js之事件冒泡,事件捕获,事件委托

事件捕获:当一个事件触发后,从window对象出发,不断经过下级节点,直到目标节点,这个过程就是事件捕获。自内而外,从根到叶,从小到大。 事件冒泡:即是事件开始时由最具体的元素接收,然后逐级向上传播到较为不具体的节点。当事件到达目标节点之后,会沿着捕获阶段的路线原路返回,同样所有经过节点会被触发。即是自内而外,从叶到根,从小到大。 说起来很复杂,其实用一个示列就很容易理解 <!DOCTYPE...

angula 1371

JavaScript 事件捕获与事件冒泡

如果给每个标签都定义事件,当我们点击其中的< a >标签时,会发现绑定在< div >和< p >标签上的事件也被触发了,这到底是为什么呢?为了解答这一问题,微软和网景两公司提出了两种不同的概念,事件捕获与事件冒泡:事件捕获:由微软公司提出,事件从文档根节点(Document 对象)流向目标节点,途中会经过目标节点的各个父级节点,并在这些节点上触发捕获事件,直至到达事件的目标节点;

前端梦工厂 716

JavaScript 事件冒泡与事件捕获

当浏览器中的某个元素触发了一个事件(比如click),这个事件并不是只在触发元素上执行一次,而是会按照特定的顺序在不同的 DOM 节点之间传播,这个传播过程就是事件流。事件捕获阶段目标阶段事件冒泡阶段注意:在旧版本 IE(IE8 及以下)中,只支持事件冒泡,不支持事件捕获。事件捕获:从外向内传播,事件冒泡:从内向外传播,(默认)阻止冒泡阻止冒泡 + 阻止后续同类型事件7.事件捕获与冒泡的完整流程图完整事件流顺序图图解说明捕获阶段(Capture Phase)事件从最顶层的window。

2501_92414735的博客 838

Vue 事件、事件冒泡和事件捕获

vue 事件、事件冒泡、事件捕获和终止事件冒泡

江西第一深情的博客 4060

js 事件模型 事件捕获、事件冒泡

什么是事件捕获、事件冒泡 事件冒泡(event bubbling)和事件捕获(event capturing)是指在 DOM 树中处理事件的两种不同方式。

weixin_54714100的博客 2296
上一篇: 单线程与多线程的区别
下一篇: Math.round(),Math.ceil(),Math.floor(),toFixed()的区别
function__
博客等级 码龄10年 99粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值