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自动审核代码
相关推荐
习明然44 分钟前
我的本地化AI项目(三)喜欢的名字被抢了1 小时前
Python实战:SQLAlchemy ORM与FastAPI项目集成笃行3501 小时前
从兼容到进阶:驱动直连、窗口函数与动态 SQL 实测——KingbaseES V9R3C18 深度体验(二)笃行3502 小时前
MySQL 的 JSON 字段迁到金仓还能用吗?——KingbaseES V9R3C18 JSON 操作符与函数兼容实测IpdataCloud3 小时前
跨境AI金融风险怎么防?IP风险画像的实战应用指南夏季疯3 小时前
读论文:STARS 是什么结构?一个统一的歌声自动标注框架光测实验室4 小时前
3种Python降噪算法实测:我把处理速度提升了20倍AOwhisky4 小时前
Python 学习笔记(第三期)——流程控制核心知识点自测与详解爱吃提升4 小时前
Python桌面自动化PyAutoGUI完整实战教程:模拟鼠标键盘、窗口操作、图形识别自动化Alan_754 小时前
API 接口慢调用根因定位:从 TCP 建连到数据库 IO 的全栈排查实战