当前位置: 首页 > news >正文

织梦移动网站模板免费下载佛山国内快速建站

织梦移动网站模板免费下载,佛山国内快速建站,公司建立网站的步骤,ui界面设计包括哪些内容简介CustomEvent 是浏览器原生支持的一种事件类型,允许开发者自定义事件并在 DOM 中触发、监听,用于实现组件间通信或特定业务逻辑的解耦。 与浏览器内置事件(如 click、load)相比,CustomEvent 的核心优势是可以携带自…

简介

CustomEvent 是浏览器原生支持的一种事件类型,允许开发者自定义事件并在 DOM 中触发、监听,用于实现组件间通信或特定业务逻辑的解耦。

与浏览器内置事件(如 click、load)相比,CustomEvent 的核心优势是可以携带自定义数据,并能在任意 DOM 元素上触发和监听。

应用场景

  • 组件通信:在前端框架(如 Vue、React)中,非父子组件可通过自定义事件传递数据
  • 状态通知:如用户登录状态变化、数据加载完成等全局状态通知
  • 插件扩展:为自定义插件设计事件接口,允许外部监听插件内部状态变化

创建自定义事件 new CustomEvent

const myEvent = new CustomEvent(eventName, options);
  • eventName:事件名称(字符串,遵循命名规范,如 user-logindata-updated
  • options:配置对象(可选),包含:
    • detail:任意类型数据【只读】,作为事件的附加信息(最常用),要想修改,只能重新创建事件
    • bubbles:布尔值,是否冒泡(默认 false
    • cancelable:布尔值,是否可被取消(默认 false

触发(派发)事件 dispatchEvent

// 在 document 上触发自定义事件
document.dispatchEvent(myEvent);
// 在特定元素上触发
const myElement = document.getElementById('my-element');
myElement.dispatchEvent(myEvent);

监听自定义事件 addEventListener

// 监听 document 上的自定义事件
document.addEventListener('user-login', (event) => {console.log('用户登录了!', event.detail); // 访问自定义数据
});
// 监听特定元素的事件
myElement.addEventListener('data-updated', handleDataUpdate);

实战范例

// 1. 定义事件处理函数
function handleMessage(event) {console.log('收到消息:', event.detail);console.log('事件来源:', event.target);
}// 2. 监听自定义事件
document.addEventListener('custom-message', handleMessage);// 3. 创建并触发事件(可在任意位置执行)
const messageData = { content: 'Hello CustomEvent', timestamp: new Date().getTime() 
};// 创建事件,允许冒泡
const messageEvent = new CustomEvent('custom-message', {detail: messageData,bubbles: true
});// 在某个元素上触发(若 bubbles 为 true,会向上冒泡)
document.getElementById('sender').dispatchEvent(messageEvent);// 4. 移除事件监听(必要时)
// document.removeEventListener('custom-message', handleMessage);
http://www.dtcms.com/a/516780.html

相关文章:

  • 九九乘法表(C语言)
  • AI赋能:下一代海外社媒推广的智能化路径
  • i2c 时序解析
  • 基于线程池的配电房图像检测
  • 天河网站+建设信科网络龙口网页设计
  • 企业官网网站建设咨询手机网站模板下载免费
  • 线性代数直觉(三):特征值(eigenvalue)与特征向量(eigenvector)为何物?
  • 学生个人网站建设模板郑州开发软件公司
  • [Agent可视化] 智能体核心(Rust) | WASI沙箱 | `grpc_server.rs`
  • 东莞网站建设方案托管桂林做网站的公司有哪些
  • 所有搜索引擎蜘蛛不来网站了最新军事报道
  • Java | Lombok @Builder.Default 排障指南:为什么 build 时默认值丢失?
  • 东莞网站快速优化排名中国品牌网站建设
  • 计算机网络 网站代理公司注册新公司的费用
  • Linux下的TCP滑动窗口
  • 从CCLKIE到EtherCAT:汇川PLC在大型选矿厂的伺服通讯升级之路
  • wordpress 建站 知乎app开发app制作公司
  • wordpress代码创建子站点建设谷歌公司网站费用
  • 多资产回测实战 | 用 DolphinDB 搭建股票期货对冲与期权套利策略
  • 企业营销管理软件网站优化查询
  • 数字孪生大屏实战:山海鲸可视化如何让制造业‘透明化
  • Linux 内存 --- get_user_pages/pin_user_pages函数
  • 《探索 Docker+Neko+cpolar 实现跨网共享浏览器的无限可能》
  • 调用百度云语音识别服务——实现c++接口识别语音
  • 浅谈常见的八类数据库加密技术
  • Beyond Compare 5 for Mac 好用的文件对比工具
  • 济南专业做网站公司哪家好做爰全过程免费的视频凤凰网站
  • 顶俏模式分析:低价洗衣液与三级分销机制的市场争议
  • 云服务器网站解析专业拓客团队怎么收费
  • 嘉兴网站建设网站海报设计兼职平台