如何用 event.composedPath 获取事件触发经过的所有节点

event.composedPath()用于获取事件在Shadow DOM中的完整传播路径,返回从目标节点到根节点的数组;适用于Web Components中跨Shadow边界精准判断事件来源或委托。event.composedPath() 是一个用于获取事件在 Shadow DOM 中传播路径的方法,它返回一个包含事件经过的所有节点(包括 Shadow DOM 内部节点)的数组,从最内层目标节点开始,一直到根节点(通常是 document 或 shadowRoot 的宿主元素)。什么时候需要使用 composedPath()当你的页面使用了 Web Components(尤其是带 Shadow DOM 的自定义元素),且事件从 Shadow DOM 内部触发、冒泡到外部 DOM 时,普通 event.path(非标准)或 event.target/event.currentTarget 可能无法反映完整路径------因为 Shadow DOM 有"穿透边界"的限制。而 composedPath() 是标准方法,能准确还原事件真实经过的全部节点链。例如:点击一个封装在 Shadow DOM 中的按钮,想判断它是否位于某个特定自定义组件内部,或是否经过某类容器,就需要这个路径。基本用法和返回结构调用方式很简单:element.addEventListener('click', (e) => { const path = e.composedPath(); console.log(path); // [button, #shadow-root, my-card, body, html, document]});返回数组顺序是:从事件目标开始,逐级向上直到根。注意: 文心快码 文心快码(Comate)是百度推出的一款AI辅助编程工具

相关推荐
2401_887724501 天前
CSS如何设置文字溢出显示省略号_利用text-overflowellipsis
jvm·数据库·python
m0_747854521 天前
golang如何实现应用启动耗时分析_golang应用启动耗时分析实现思路
jvm·数据库·python
雪碧聊技术1 天前
下午题_试题二
数据库
解救女汉子1 天前
如何截断SQL小数位数_使用TRUNCATE函数控制精度
jvm·数据库·python
2301_803875611 天前
如何用 objectStore.get 根据主键 ID 获取数据库单条数据
jvm·数据库·python
耿雨飞1 天前
Python 后端开发技术博客专栏 | 第 06 篇 描述符与属性管理 -- 理解 Python 属性访问的底层机制
开发语言·python
weixin_458580121 天前
如何修改AWR保留时间_将默认8天保留期延长至30天的设置
jvm·数据库·python
丶小鱼丶1 天前
Java虚拟机【JVM】
java·jvm
耿雨飞1 天前
Python 后端开发技术博客专栏 | 第 08 篇 上下文管理器与类型系统 -- 资源管理与代码健壮性
开发语言·python
qq_654366981 天前
C#怎么实现OAuth2.0授权_C#如何对接第三方快捷登录【核心】
jvm·数据库·python