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

在window中 js 编写一个全局触发事件并携带参数

   // 触发全局事件(携带参数)window.triggerGlobalEvent = (eventName, data) => {// 创建自定义事件,参数通过 detail 传递const event = new CustomEvent(eventName, {detail: data,bubbles: true,    // 允许事件冒泡cancelable: true  // 允许事件取消});// 在 window 对象上触发事件window.dispatchEvent(event);};// 示例:触发全局事件并携带用户数据 这个就是触发全局事件的window.triggerGlobalEvent("userLoggedIn", {userId: 10,name: "John",role: "admin"});/*****************************下面的代码就是写到任何子应用中的监听的方法****************************/// 监听全局事件const listenGlobalEvent = (eventName, callback) => {// 在 window 对象上监听事件window.addEventListener(eventName, (e) => {// 通过 e.detail 获取传递的参数callback(e.detail);});};// 示例:监听名为 "userLoggedIn" 的全局事件listenGlobalEvent("userLoggedIn", (userData) => {console.log("用户已登录:", userData);// 输出:用户已登录: { userId: 123, name: "John" }});下图中anifun呢是一个 按钮的点击事件。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.xdnf.cn/news/443305.html

相关文章:

  • EC600X 开发板介绍
  • 从入门到精通:阿里云/腾讯云服务器深度优化实践
  • bfs-最小步数问题
  • 基于单片机的车灯智能控制系统设计与实现
  • 技术选型不当,如何避免影响项目进展
  • 【python编程从入门到到实践】第七章用户输入和while循环
  • 黑马k8s(六)
  • 解决SQL Server SQL语句性能问题(9)——合理使用表分区
  • CentOS7原有磁盘扩容实战记录(LVM非LVM)【针对GPT分区】
  • QMK RGB矩阵灯效配置详解:从理论到实践(实操部分)
  • 共享代理IP vs 动态IP:企业级业务场景的选型深度解析
  • 通过Ollama读取模型
  • attention_weights = torch.ones_like(prompt_embedding[:, :, 0]):切片操作获取第二维度,第三维度
  • 速查 Linux 常用指令 II
  • 初识C++:类和对象(上)
  • Nexus首次亮相迪拜 TOKEN2049:以“手机 + 钱包 + 公链 + RWA”生态系统引领未来区块链基建
  • C++GO语言微服务之Dockerfile docker-compose②
  • Screen Mirroring App:轻松实现手机与电视的无缝投屏
  • idea springboot 配置文件 中文显示
  • OpenHarmony平台驱动开发(十七),UART
  • DFS算法的学习
  • PyTorch深度神经网络(前馈、卷积神经网络)
  • JVM调优实战
  • 面试--HTML
  • OpenCV CUDA模块中逐元素操作------逻辑运算
  • 代码随想录算法训练营第四十天
  • ubuntu24.04上安装NVIDIA driver+CUDA+cuDNN+Anaconda+Pytorch
  • Webpack其他插件
  • Emacs 折腾日记(二十三)——进一步提升编辑效率
  • Docker 疑难杂症解决指南:从入门到进阶的全面剖析