为什么当元素的子元素的过渡结束时可以运行transitionend事件?

2024-01-24

我绑定了一个transitionend事件至div1. When div1的转换结束,事件开始。这里没有问题。

我遇到一个特殊情况:

我在此添加了 3 段div1,当每个段落的转换结束时,div1's transitionend活动也跑了。所以transitionend活动举办了4次。 >.

In div1's transitionend事件监听器函数的主体,我可以看到event.target !== this。我觉得实在是太可笑了!

Chrome 和 Firefox 都有这个问题。所以我猜这不是浏览器的 HTML5 规范实现错误。

谁能解释为什么一个元素transitionend事件也可以由该元素的子元素触发吗?

谢谢。


这称为事件冒泡。默认情况下,在原始对象上调用事件处理程序后,子元素上发生的许多事件将通过父元素向上冒泡。您可以通过检查所注意到的方式来检测冒泡event对象,或者您可以通过在处理源对象上的事件时停止传播来防止冒泡。

停止传播是 IE 与其他浏览器的不同之处之一。在其他浏览器中,您可以调用:

event.stopPropagation()

在 IE9 之前的 IE 中:

window.event.cancelBubble = true;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么当元素的子元素的过渡结束时可以运行transitionend事件? 的相关文章

随机推荐

  • ReactNative Flatlist - Flatlist 项的优化性能

    当我们有大数据时如何优化 Flatlist 的性能 我的列表既有图像又有文字描述 我想找到一种方法来提高列表的性能并删除从缓存列表中加载的额外图像以及让清单不重 FlatList 组件应该是一个高性能的解决方案 用于在应用程序中显示大量数据
  • Java框架[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 最近 我遇到了许多用 Java 创建 Web 应用程序的不同框架 例如 Play Wicket Gra
  • Xcode 中的 Boost 库编译器错误

    如何在 Xcode 中正确使用 boost 我正在尝试使用 boost 库编译一个项目 该示例项目在终端中使用 GCC 12 可以正常编译 但我无法在 Xcode 中编译它 编译器错误主要是 boost 库中的命名空间问题 例如 boost
  • -[UITextField isFirstResponder] 即使字段当前正在编辑也会返回 false

    在我的视图控制器中 viewDidLoad方法 我调用 myTextField becomeFirstResponder 这就像一个魅力 打开键盘 myTextField 获得焦点 我有一个带有目标操作的按钮 该操作位于同一控制器中 用于检
  • Bash:如何将这两个 if 语句压缩为一个

    我是 Bash 和脚本新手 我想找到一种方法将这两个语句合并为 1 该脚本的作用是检查两个文件 D1 和 D2 是否是同一文件 如果不是 则检查它们的内容是否相同 if D1 ef D2 then echo not the same fil
  • 在 Electron 中操作 DOM

    在电子应用程序中操作 DOM 的最佳方法是什么 我使用 ipc 和 webcontents 从文档中制作了一些教程 但没有运气 我的应用程序非常简单 我只想像控制台一样使用网络并显示来自多个同步函数 主过程 结果的消息 渲染过程 我用真实的
  • 如何制作“查看密码”?

    我正在制作密码识别系统 我想做一个 查看密码 功能 可以切换隐藏到显示密码 我不知道如何实现这个功能 这是我的简短代码 from tkinter import root Tk Entry box to get password from u
  • UICollectionView - 滚动到第一个单元格

    我正在使用 UICollectionView 单击按钮后需要滚动到第一个单元格 该按钮位于我的集合视图中的 大 标题部分 单击它时 我需要滚动到位于该按钮下方的第一个单元格 我创建了此按钮的操作 但我不知道如何滚动到第一个 UICollec
  • Sql事务的并发处理

    假设我要使用 ASP NET 和 SQL Server 2005 启动一个项目 我必须设计该应用程序的并发要求 我计划在每个表中添加一个时间戳列 在更新表时 我将检查时间戳列是否与所选的相同 这种方法足够吗 或者这种方法在任何情况下都有缺点
  • 如何将数组转换为元组?

    我只想在 Swift 中将数组转换为元组 像下面这样 gt gt gt myArray 1 2 3 4 5 gt gt gt mytuple tuple myArray gt gt gt mytuple 1 2 3 4 5 最简单的方法是什
  • Mapstruct 没有更新生成的源文件中的 getter 和 setter

    我有一个具有属性的实体 我曾经这样写过 私人龙重症监护室 我正在使用地图结构 这是我针对所述实体的映射器 Mapper componentModel spring public interface ProtectionQueryMapper
  • 拖放CDK:在起始列表中继续显示拖动的元素

    我正在使用 cdk Drag and Drop 因为我需要它来创建工作 POC 我从这个开始code https stackblitz com angular nlpedgvrmbg file app 2Fcdk drag drop con
  • node.js、pg、postgresql 和插入查询(应用程序挂起)

    我有以下简单的节点应用程序用于将数据插入 postgres 数据库 var pg require pg var dbUrl tcp user psw localhost 5432 test db pg connect dbUrl funct
  • Spring Boot:托管版本为 1.3.2.RELEASE 该工件在 org.springframework.boot:spring-boot-dependency:1.3.2.RELEASE 中管理

    我使用 Spring boot 创建一个骨架应用程序 这是我的pom xml
  • Python 中的单元测试 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Python 是否有与标准 xUnit 风格的测试框架兼容的单元测试框架 如果有的话 它是什么 在哪里 有什么好处吗 Python 有几个
  • 出现类似 imap_open() 的错误:无法在服务器中打开流

    要获取 gmail 邮件 我使用下面的代码 它在本地工作正常 但我在服务器中遇到错误 例如 警告 imap open 无法打开第 10 行 C xampp htdocs riticoglive email real php 中的流 imap
  • WPF 4 DataGrid:将行号获取到 RowHeader 中

    我希望将行号放入 WPF 4 DataGrid 的 RowHeader 中 以便它有一个类似于 Excel 的列用于显示 DataGrid 的行号 我在网上看到的解决方案建议向业务对象添加索引字段 这并不是一个真正的选择 因为 DataGr
  • API 秘密是否应该进行哈希处理?

    这听起来可能是一个愚蠢的问题 因为密码当然需要进行哈希处理 并且永远不要存储原始密码 然而 对于 API 机密 通常我在注册时会看到它们以明文形式显示 例如 如果我转到 google api 控制台并查看我的凭据页面 我可以查看我的客户端密
  • 使用预处理器指令来定义美元符号所代表的内容是否会导致任何冲突?

    我可以使用以下内容吗C define cout int main lt lt Hello World n return 0 我想知道这是否会引起任何冲突 这并不绝对合法 但您的实现可以接受它 考虑 C 11 2 5 1 每个转换为标记 2
  • 为什么当元素的子元素的过渡结束时可以运行transitionend事件?

    我绑定了一个transitionend事件至div1 When div1的转换结束 事件开始 这里没有问题 我遇到一个特殊情况 我在此添加了 3 段div1 当每个段落的转换结束时 div1 s transitionend活动也跑了 所以t