javascript - 关于事件冒泡的本机 dom 事件持久性
问题描述
我不知道为什么我以前从未想过这个问题,但是原生 dom 事件的生命周期是多少。它们是否被重复使用以及如何重复使用,它们会过期吗?有没有办法像 React 合成事件一样冻结它们?更具体地说,我的意思是当他们通过 dom 冒泡时
简单测试:
<div onclick="setTimeout(() => { console.log(event.currentTarget)}, 0)">Test 1</div>
</div>
<div onclick="console.log(event.currentTarget)">Test 2</div>
</div>
与测试“测试 2”相比,运行“测试 1”表明当前目标为空。这只是举例说明我的更大问题的一个例子。
泰!
编辑:这是用https://codepen.io/rubixibuc/pen/qBbwRmo?editors=1111测试的代码笔
解决方案
否 - DOM 事件不会被重用。每次都是一个新事件。如果您谈论的是在 DOM 树上冒泡的事件冒泡,那么是的,它是同一个事件对象。
推荐阅读
- google-app-engine - 可以从 Google App Engine 中的 F4 自动缩放到像 F2 这样的小实例吗?
- flutter - 颤动中的可滚动标签
- sql - 将 XMLTYPE 分块为 CLOB 时 XML 标记在中间中断
- javascript - 按类型和值获取对象数组的可能组合
- sql - SQL Server 2016:在更新记录时分组
- deployment - 应用设置中带有 KeyVault 引用的 Azure Web 应用
- macos - 如何在vim中删除命令行下方多余的空白行?
- angular - 如何以角度更新类变量中的数据
- c# - 如何使用 C# 将自定义属性添加到 Excel 文档?
- java - 如何在 Java/Kotlin 中使用新的 StateRestorationPolicy?