冒泡与捕获事件

news2025/3/1 16:26:49
一.冒泡与捕获

1.概念。

冒泡事件:微软公司提出的,事件由子元素传递到父元素的过程叫做冒泡(false)。

捕获事件:网景公司提出的,事件由父元素传递到子元素的过程叫做事件捕获(ture)。

2.冒泡事件与捕获事件的区别

冒泡事件:事件从子级向父级传递。捕获事件:事件从父级传递向子级。

这里我用代码给大家进行一下解释:
首先有三个div  层级分别为d1>d2>d3。为他们分别添加点击事件,当我们点击d1,只会打印d1

但当我们点击d2 打印结果依次为 

这就是冒泡排序,事件从子级向父级传递。

 在捕获事件触发的前提,我们需要使用事件监听 document.addEventListener('event',funciton(){},true)  这里的true是布尔值判断是否为捕获事件,当为true时,这里为捕获事件,如果为false时,这里就是冒泡事件。用代码给大家解释一下:

 当我们点击d1时,打印d1.但是当我们点击d3时,打印结果依次为d1 d2 d3

 结果由父级传递向子级,这个过程称为捕获事件。

二.阻止冒泡与阻止默认

1.阻止冒泡就是让我们的层级事件不再触发,在点击子级时,父级不会触发点击事件。一般我们使用e.stoppropagation();来阻止冒泡。用代码解释一下: 这里给d3添加了阻止冒泡事件,所以我们在点击d3时,不会再打印d2 d1,只打印d3.

2.阻止默认:一般我们在文档中想复制一些文字,按住就可以勾选,但是当我们使用了阻止默认,内容就无法勾选。通常我们使用e.preventDefault()方法来阻止默认。

3.总结:e.stoppropagation()阻止冒泡  e.preventDefault()阻止默认  return false;既阻止冒泡又阻止默认。

三、addEventListener 的第三个参数

1.addEventListener(),接收3个参数

        第一个参数event:监听的事件

        第二个参数是函数:需要执行的事

        第三个参数是useCapture(变量):用来判断是捕获还是冒泡

2.第三个参数userCapyure

(1)当useCapture为true的时候是在捕获阶段触发事件 (捕获事件触发顺序是由父到子)

(2)当useCapture为false的时候是在冒泡阶段触发事件(默认为false)(冒泡事件触发顺序是由子到父)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1157973.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

晃电的原因以及如何治理?

安科瑞 须静燕 晃电的定义 国标GB/T 30137-2013 中定义:工频电压方均根值突然降至额定值的90%~10%,持续时间为10ms~ 1min后恢复正常的现象 晃电的原因 短路故障 绝缘闪络 大功率电机启动 雷击浪涌 进线失电时备自投或快切 晃电的危害 对公共用户影响较小 …

如何看待阿里云99元服务器新老用户同享?

如何看待阿里云99元服务器老用户可买?阿里云急了,阿里云老用户与狗的营销策略要被打破了吗?并且续费不涨价,依旧是99元,阿里云急了? 2023阿里云服务器优惠活动来了,以前一直是腾讯云比阿里云优…

2023年十大地推网推拉新接单平台,都是一手单和官方渠道

2023年做拉新推广的地推人员,一定不要错过这十个接单平台,助你轻松找到一手单,这10个平台分别是: (主推:聚量推客) 我们也拿到了一手邀请码:000000 1:聚量推客 “聚量推…

jsoncpp fatal error C1083: 无法打开编译器生成的文件

使用jsoncpp库的时候,在Debug模式下正常,但是release却报错,开始以为是开发项目设置问题,于是网络搜索,发现是jsoncpp的编译选项问题。 修改生成静态库文件的工程的属性:路径为:菜单&#xff0…

霍尔效应测试系统

霍尔效应是电磁效应的一种,这一现象是美国物理学家霍尔(E.H.Hall,1855—1938)于1879年在研究金属的导电机制时发现的。当电流垂直于外磁场通过半导体时,载流子发生偏转,垂直于电流和磁场的方向会产生一附加…

pytorch复现_IOU

定义了一个compute_iou函数,用于计算两个矩形框(boxA和boxB)之间的交并比(IOU,Intersection over Union)。IOU是一种常用的度量,用于评估两个矩形框的重叠程度。 在代码中,函数的输入…

网络安全漏洞管理与修复: 深入研究漏洞管理流程,包括漏洞扫描、评估、修复和验证。

网络安全是当今数字时代的重要议题,随着技术的不断发展,网络攻击和漏洞问题也日益复杂。在这篇文章中,我们将深入研究网络安全漏洞管理与修复的流程,包括漏洞扫描、评估、修复和验证。通过理解和实施这一流程,组织可以…

2023-10-31 LeetCode每日一题(每棵子树内缺失的最小基因值)

2023-10-31每日一题 一、题目编号 2003. 每棵子树内缺失的最小基因值二、题目链接 点击跳转到题目位置 三、题目描述 有一棵根节点为 0 的 家族树 ,总共包含 n 个节点,节点编号为 0 到 n - 1 。给你一个下标从 0 开始的整数数组 parents &#xff0…

Vue:实现输入vue组件名称,就可以从网页上加载出组件

作者:CSDN @ _乐多_ 本文记录了使用动态组件实现在网页上输入vue组件名称,就可以从网页上直接加载组件的功能的代码。 实现效果如下所示, 在许多Vue.js应用中,我们有大量的组件,但并不是每个组件都需要在应用初始化时加载。动态加载组件的好处包括: 减小初始加载时间:…

[已解决]Mysql想删掉一个表里所有的数据,直接删总是卡住

问题 产生"假锁" Mysql想删掉一个表里所有的数据,直接删总是卡住 思路 产生"假锁"原因 MySQL如果频繁的修改一个表的数据,那么这么表会被锁死。造成假死现象。在网上试过很多种解决方法,重启mysql服务,重连数据库都没有用。 温馨…

谷歌野心真不小!斥巨资扩张在人工智能界的战略地位,Anthropic公司成为跳板

原创 | 文 BFT机器人 近日,谷歌宣布对Anthropic进行重大投资,此举突显了谷歌这家科技巨头对人工智能 (AI) 的不断深化的承诺。此次,谷歌20亿美元的注资不仅增强了自身在快速发展的人工智能领域的立足点,而且标志着该行业动态的深…

[nodejs] 爬虫加入并发限制并发实现痞客邦网页截图

今晚想给偶像的相册截个图,避免某一天网站挂了我想看看回忆都不行,用的是js的木偶师来爬虫台湾的部落格,效果图大概是这样,很不错 问题来了.我很贪心, 我想一次性把相册全爬了,也就是并发 ,这个人的相册有19个!!我一下子要开19个谷歌浏览器那个什么进程, 然后程序就崩了, 我就想…

题号1577 E.迷宫plus (有趣的BFS练习)

题目:样例: 输入 1 5 5 LRLRL LLLLL RRRRR UUUUU UUUUD 输出 4 思路: 一般遇到坐标迷宫,基本上都是DFS 或者 BFS ,这里多了一个条件就是要最少修改操作数,所以我们DFS很难控制这一条件,通过 BF…

堆排序之“TOP-K”问题

目录 一、什么是TOP-K问题 二、解决思路 一般的正常思路: 最优的解决思路: 三、文件流中实践TOP-K方法 创建包含足够多整数的文件: 找出最大的K个数 完整版代码: 前面我已经学习过使用“堆排序”对数组排降序了&#xf…

Goby 漏洞发布|F5 BIG-IP AJP 身份认证绕过漏洞(CVE-2023-46747)

漏洞名称:F5 BIG-IP AJP 身份认证绕过漏洞(CVE-2023-46747) English Name:F5 BIG-IP AJP authentication bypass vulnerability (CVE-2023-46747) CVSS core: 10 影响资产数: 307282 漏洞描述: Cisco …

idea导入git代码

第一种 在本地建一个文件夹,右击 git init git clone https://xxx/xxx.git 发现账号是自己的账号如何改成公司的账号呢?我用的方式是 控制面板 删除后,就可以再次导入代码,就可以输入公司的账号和密码。 第二种 在idea上导入…

比较BFS和DFS

目录 代码框架对比 引出模板 代码框架对比 dfs是栈的递归,bfs是队列的入出。 引出模板 x可以是栈可以是队列,也可以是随机队列、随机容器,一样可以把整张图遍历出来。

Go的命令行工具开发:使用Cobra库

今天我们将深入探讨如何使用Go语言和Cobra库来开发命令行工具。 命令行工具在软件开发中有着广泛的应用,它们快速、高效,且易于自动化。 Go语言因其简洁、高效而被广泛用于命令行工具的开发。Cobra库则是Go中用于构建命令行工具的重要库之一。 为什么选…

Android错题

ctrlo键没有onCrate() 只有继承这个Fragment框架 才能调用ctrlo键onCrate()

比赛准备笔记 --- TensotFlow、软件调试、数据预处理(图像,csv数据)

简介 TensorFlow是由Google团队开发的一个开源深度学习框架,完全基于Python语言设计。它的初衷是以最简单的方式实现机器学习和深度学习的概念,结合了计算代数的优化技术,使计算许多数学表达式变得简单。 优势: 强大的计算能力…