如何用 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自动审核代码

相关推荐
wWYy.19 分钟前
Mysql:一行数据是怎么存储的?
android·数据库·mysql
一米阳光86617 小时前
软考(中级)软件设计师核心笔记(3)数据库系统——概念、数据库设计
数据库·笔记·职场发展·软考·软件设计师
幻影123!7 小时前
从零训练一个会下五子棋的AI
python·深度学习·神经网络·强化学习·五子棋·alpha zero·mokugo
奈斯先生Vector8 小时前
告别工具碎片化:基于 Nano Banana 全模态 AI 聚合架构搭建“文本-图像-视频”自动化协同生产线
运维·数据库·人工智能·架构·自动化·aigc·音视频
Java成神之路-8 小时前
G1 垃圾回收器 :SATB + TAMS核心机制深度解析
java·jvm
Python私教8 小时前
Django 接入 AI 大模型实战:从零做一个流式聊天网站
人工智能·python·django
Python私教9 小时前
Django 接入 MCP 实战:让 AI 安全调用数据库和业务接口
人工智能·python·django
Python私教9 小时前
Django 搭建 AI 本地知识库:文档上传、向量检索与智能问答
人工智能·python·django
always_TT9 小时前
【Python 日志记录:logging 模块入门】
开发语言·python·php
建筑工程企业管理系统9 小时前
erp工程项目管理系统落地价值:实现工程多项目成本精细化核算与管控
大数据·数据库·人工智能