如何用 CustomEvent 构造函数创建携带自定义数据的事件

CustomEvent 构造函数创建自定义事件需传入事件名和含 detail 属性的配置对象,detail 为必需字段用于携带任意数据;通过 dispatchEvent 触发,addEventListener 监听时通过 event.detail 读取数据;可选 bubbles、cancelable 等配置控制事件行为。用 CustomEvent 构造函数创建携带自定义数据的事件,关键在于正确传入事件名和包含 detail 属性的配置对象。基本语法:传入事件名和 detail 数据CustomEvent 是浏览器原生构造函数,必须通过 new CustomEvent() 调用。第二个参数是配置对象,其中 detail 是唯一必需的自定义字段,用于携带任意类型的数据(字符串、对象、数组等):const event = new CustomEvent('user-login', { detail: { userId: 123, username: 'alice' }});注意:detail 不是可选的------如果不传或设为 undefined,该属性在事件中将为 undefined,无法访问有效数据。触发自定义事件:用 dispatchEvent 发送到目标元素构造完事件后,需调用目标元素(如 document、window 或某个 DOM 节点)的 dispatchEvent() 方法来触发:// 向 document 派发document.dispatchEvent(event);// 或向特定元素派发const button = document.querySelector('#submit');button.dispatchEvent(new CustomEvent('form-submit', { detail: { timestamp: Date.now() }}));事件会按标准冒泡规则传播(除非显式设置 bubbles: false),监听时可在任意父级捕获或冒泡阶段接收。 AI Code Reviewer AI自动审核代码

相关推荐
不脱发的程序猿9 小时前
纳指ETF量化策略
数据库·人工智能·1024程序员节
supabc12310 小时前
欧盟电子发票(XRechnung/Peppol/ZUGFeRD)踩坑记:用 Python 不装 Java 跑官方校验规则
xml·python·开源·电子发票·1024程序员节
ZhengEnCi10 小时前
AI Agent工具调用防护层怎么写-一份能直接跑的Python四层拦截实现
python·llm·agent
程序员塔塔喵10 小时前
【MySQL篇|第一篇】索引失效的情况
数据库·mysql·索引失效
ZhengEnCi10 小时前
AI Agent工具误调用怎么解决-从参数校验到高危二次确认的四层工程防线
python·llm·agent
北京青蓝智慧马老师11 小时前
比外部黑客更难防的,是那个有权限的自己人(3 个脱敏复盘)
大数据·数据库·人工智能
笃行35011 小时前
拆一台数据集成产品:KFS 的骨架、肌肉和神经
数据库
4SAPI11 小时前
搭建 AI 数据分析工具大模型 API 选型指南
数据库·人工智能·架构·php·1024程序员节
镜子AI12 小时前
镜子AI工程教程:用Python实现关键词布局检查器与语义改写查重(附完整代码)
人工智能·python·microsoft
小oo呆12 小时前
【学习心得】Python协程
python