如何用 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辅助编程工具

相关推荐
Bioinfo Guy12 小时前
高分Panel复现系列|转录因子网络太乱?用模块框把重点圈出来
数据库·生物信息学·生信可视化
leisoo809712 小时前
100GBA股股票数据怎么存ClickHouseRedisMySQLJSON完整对比
大数据·linux·服务器·开发语言·python
WangYan202212 小时前
基于XGBoost与AI的生态—地学多源数据建模:植被与土地利用识别、土壤碳氮空间预测、生物多样性驱动机制、土壤微生物功能预测、生态退化与风险识别
python·机器学习·xgboost
ltl13 小时前
Disaggregated DB 合集:Socrates、PolarDB、Taurus 的共同模式
数据库
金銀銅鐵15 小时前
[Python] 借助 turtle 逐字展示唐诗《金缕衣》
python
Blossom i15 小时前
大数据预处理与采集实验一:使用Python操作MySQL数据库
数据库·mysql
雾时之林16 小时前
Linux--软件管理、源码包安装
linux·服务器·数据库
Python大数据分析@17 小时前
使用大模型MCP采集数据,爬虫已经无门槛
python·网络爬虫
quantdash_cc17 小时前
告别自建 Requests/BS4 网页爬虫:基于 QuantDash 搭建零维保的高性能量化行情流水线
开发语言·爬虫·python·pandas·量化·quantdash
65岁退休Coder17 小时前
LangChain v1.3.4 笔记 - 07 补充:链式调用 LCEL
后端·python·langchain