新闻中心
如何用j*ascript创建自定义事件_如何触发和监听?
J*aScript创建自定义事件需用CustomEvent构造函数(可带detail数据)、dispatchEvent触发(支持元素或document广播)、addEventListener监听(通过e.detail获取数据),注意冒泡、取消及内存泄漏。

J*aScript 中创建和使用自定义事件很简单,核心是 CustomEvent 构造函数 + dispatchEvent 触发 + addEventListener 监听。
创建自定义事件
用 CustomEvent 构造函数创建事件对象,可传入事件名和配置对象,其中 detail 字段用来携带任意数据:
new CustomEvent('myEvent', { detail: { id: 123, msg: 'hello' } })-
detail可以是字符串、数字、对象、数组,甚至函数(注意跨 iframe 时函数会丢失) - 如果不需要传参,可省略配置对象:
new CustomEvent('myEvent')
触发自定义事件
调用目标元素(或 document、window)的 dispatchEvent 方法:
-
element.dispatchEvent(event)—— 元素上触发 -
document.dispatchEvent(event)—— 全局广播(适合跨组件通信) - 事件会按 DOM 冒泡规则向上冒泡(除非设置
bubbles: false) - 默认不取消冒泡,也不可被阻止(除非显式设置
cancelable: true)
监听自定义事件
用标准的 addEventListener 监听,事件名与创建时一致:
Glarity
Glarity是一款免费开源的AI浏览器扩展,提供YouTube视频总结、网页摘要、写作工具等功能,支持免费的镜像翻译,电子邮件写作辅助,AI问答等功能。
131
查看详情
element.addEventListener('myEvent', handler)-
回调函数中通过
e.detail获取传递的数据:e.detail.id、e.detail.msg - 支持捕获阶段监听:
element.addEventListener('myEvent', handler, true) - 记得在不需要时用
removeEventListener清理,避免内存泄漏
一个完整小例子
按钮点击后触发自定义事件,父容器监听并打印数据:
// 创建事件
const event = new CustomEvent('dataReady', {
detail: { user: 'Alice', score: 95 },
bubbles: true
});
// 触发(比如在按钮点击里)
document.getElementById('btn').addEventListener('click', () => {
document.body.dispatchEvent(event);
});
// 监听
document.body.addEventListener('dataReady', (e) => {
console.log('收到数据:', e.detail); // { user: 'Alice', score: 95 }
});
基本上就这些。不复杂但容易忽略细节,比如忘记传 detail 或没调用 dispatchEven。
t
以上就是如何用j*ascript创建自定义事件_如何触发和监听?的详细内容,更多请关注其它相关文章!
# 有哪些
# 网站推广充值 会计处理
# 正宗网站建设价格
# 简单网站建设名字
# 北京专业seo外包电话
# 清涧中小网站建设平台
# 济南网站建设地方
# SEO导航语音转文字
# 龙华网站建设设计服务
# 1688 seo工具
# 奶盘seo外链
# 相关文章
# 与传统
# javascript
# 有何不同
# 如何实现
# 等功能
# 不需要
# 如何用
# 回调
# 自定义
# win
# ai
# 回调函数
# java
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
韩剧圈正版入口页面_韩剧圈官网登录链接
c++如何使用std::memory_order控制原子操作顺序_c++ C++11内存模型详解
Bilibili动漫最新防封地址发布-Bilibili动漫2025年最稳正版入口推荐
126邮箱账号注册 电脑版登录入口
如何在离线环境中使用Composer_Composer离线安装依赖包的技巧与策略
AI泡沫首次被“刺破”:GPU十年都无法存活!
押井守高度称赞《辐射4》:玩了八年都停不下来!
微信聊天记录怎么加密_微信聊天记录加密方法
HTML转PPT成品工具有哪些?HTML网页转PPT成品工具大全
qq邮箱日历功能怎么用_创建日程与会议邀请的技巧
Safari怎么安装扩展程序 浏览器插件安装与管理方法【详解】
C++如何实现一个装饰器模式_C++设计模式之动态地给对象添加额外职责
vivo手机互传视频怎么操作_vivo手机互传视频详细传输方法
Angular中父组件异步更新子组件复选框状态的实践指南
荣耀Play7TPro怎样在信息App置顶客服对话_iPhone荣耀Play7TPro信息App置顶客服对话【优先查看】
痛风发作了怎么办? 快速止痛和后期饮食调理
2026春节假期票务安排_2026春节放假购票指南
深入理解J*a链表中的IPosition接口与使用
sublime如何配置Go语言开发环境_sublime搭建Golang编译运行系统
如何在低配置电脑上搭建轻量级J*a环境_占用更小的环境选择技巧
Go语言中JSON数据解码与字段访问指南
UE5.7引擎表现爆炸优化无敌!5090跑4K稳定60FPS
蛙漫安全无毒 官方认证的绿色入口
GemBox Document HTML转PDF垂直文本渲染问题及解决方案
J*a里如何实现订单支付与库存同步功能_支付库存同步项目开发方法说明
可靠CSGO开箱平台解析 CSGO开箱网合集
Discord Slash 命令响应超时问题的异步解决方案
Win10怎么设置静态IP地址 Win10手动配置IP地址步骤【指南】
夸克AO3官网入口_AO3镜像网站2025推荐
网站内容防复制粘贴的实现策略与局限性
在命令行怎么运行html项目_命令行运行html项目方法【教程】
PHP中SSG-WSG API的AES加密实践:正确使用初始化向量
css滚动动画效果怎么实现_使用Animate.css滚动触发动画类
探索高级语言到原生C/C++的转译:挑战与内存管理策略
QQ邮箱官方登录入口_QQ邮箱网页版快捷使用平台
QQ网页版官方账号入口 QQ网页版网页版登录指南
现代化 SciPy 一维插值:interp1d 的替代方案与最佳实践
Win11网速慢怎么解决 Win11网络设置优化解除限速
冬*霸灯泡不亮怎么办_浴霸取暖灯一盏不亮的灯座清洁修复法
俄罗斯Yandex搜索引擎入口_Yandex官网免登录一键访问
MinIO大规模对象列表性能瓶颈深度解析与外部元数据管理策略
怎样在Excel中做仪表盘_Excel仪表盘设计与关键指标展示方法
Typer应用中动态命令行参数的解析与处理
小猿搜题在线学习页面在哪_小猿搜题在线学习中心入口
创客贴用户入口官网登录 创客贴网页版电脑版系统
漫蛙2漫画入口 漫蛙正版网页漫画直达网址
漫蛙MANWA漫画主页官方入口 漫蛙漫画最新在线阅读地址
Excel如何用迷你图显趋势_Excel用迷你图显趋势【趋势小图】
Yandex免登录官网入口_俄罗斯Yandex搜索引擎直达链接
纯CSS与HTML网格布局的HTML精简策略:SVG与JS方案解析


2025-12-14
浏览次数:次
返回列表