首页 > 其他分享 >js自定义事件

js自定义事件

时间:2023-08-28 11:12:53浏览次数:42  
标签:自定义 js window myEvent dispatchEvent CustomEvent 事件

新建

js新建自定义事件方式有两种:

1. new Event('myEvent',initEvent)
2.  new CustomEvent('myEvent',initEvent) 
// new CustomEvent('myEvent', {detail:{name: 'yejingxiao'}})
相同点

简单的自定义事件 Event, CustomEvent都可以用,且第二个参数都是可选非必填参数,用以配置常见的事件设置:是否冒泡("bubbles": true/false)、是否能被取消("cancelable": true/false)等等

不同点

从书写方式上可以看出两者区别,CustomEvent除了定义简单自定义事件,还支持detail参数传递;


触发

触发是通过 dispatchEvent 方式去触发
window.dispatchEvent(myEvent)
当然 ie8及以下存在兼容问题需要用fireEvent

if (window.dispatchEvent) {
	window.dispatchEvent(myEvent)
} else {
	window.fireEvent(myEvent)
}

监听

通过addEventListener方式来监听

window.addEventListener("myEvent", e => {
	alert(`myEvent事件触发,name === ${e.detail.name} `);
})

标签:自定义,js,window,myEvent,dispatchEvent,CustomEvent,事件
From: https://www.cnblogs.com/yejingxiao/p/17657615.html

相关文章

  • Python爬虫追踪新闻事件发展进程及舆论反映
    大家好!在当今信息爆炸的时代,了解新闻事件的发展进程和舆论反映对于我们保持对时事的敏感度和了解社会动态至关重要。在本文中,我将与你分享使用Python爬虫追踪新闻事件发展进程和舆论反映的方法,帮助你获取及时、全面的新闻信息。1.爬取新闻网站首先,我们需要选择合适的新闻网站作为......
  • WPF-封装自定义雷达图控件
     源码地址:https://gitee.com/LiuShuiRuoBing/code_blog雷达图用于表示不同内容的占比关系,在项目中有广泛的应用,但是目前未曾有封装良好的雷达图控件,鉴于最近项目的使用,于是想要封装一个通用的雷达图控件,便于日后的扩展使用。首先雷达图的绘制大概分为雷达图的图层、......
  • 前端歌谣的刷题之路-第五题-自定义列表
     目录前言题目核心代码总结前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从头再来歌谣的意志是永恒的放弃很容易但是坚持一定很酷本题目源自于牛客网题......
  • 如何修改min.js或者压缩后的js,以便提高代码的可读性。
    前端的js上线的时候一般会使用打包工具处理(webpack,gulp,ugly.js等)。这样做有几点作用。可以压缩空间,提高页面响应速度一定程度上可以保护自己的代码安全,防止别人清晰看懂逻辑或者拷贝代码。提高别人阅读自己代码的门槛可前端开发工作中多多少少,会需要看别人的js代码。可随......
  • js 判断如果是移动端就自动跳转到 移动端的页面上去
    js判断如果是移动端就自动跳转到移动端的页面上去 <script>!(function(){constuserAgent=naviator.userAgent;constandroid=userAgent.match(/(Android);?[\s\/]+([\d.]+)?/);constiphone=userAgent.......
  • django(Ajax、自定义分页器、form组件)
    一、Ajax1概述异步提交局部刷新例子:github注册动态获取用户名实时的跟后端确认并实时展示到前端(局部刷新)朝后端发送请求的方式1.浏览器地址栏直接输入url回车GET请求2.a标签href属性GET请求3.form表单GET......
  • 如何修改min.js或者压缩后的js,以便提高代码的可读性。
    前端的js上线的时候一般会使用打包工具处理(webpack,gulp,ugly.js等)。这样做有几点作用。可以压缩空间,提高页面响应速度一定程度上可以保护自己的代码安全,防止别人清晰看懂逻辑或者拷贝代码。提高别人阅读自己代码的门槛可前端开发工作中多多少少,会需要看别人的js代码。可随......
  • 学生信息登记表单的录入删除代码JS+HTML TOMCAT听课笔记
    <!DOCTYPEhtml><html><head></head><body><formclass="info"autocomplete="off">姓名:<inputtype="text"class="uname"name="uname"&......
  • 处理事件
    NodeGui允许您侦听可能源自底层Qt小部件的各种事件。这些事件可以是简单的按钮单击或行编辑中的文本更改,甚至是隐藏和显示窗口之类的内容。为此,我们需要将事件侦听器附加到相应的小部件。从技术上讲,事件侦听器是一个NodeJs EventEmitter 实例,用于侦听来自底层Qt小部件的......
  • github.com/json-iterator/go 详细教程
    最近接触到了github.com/json-iterator/go,是由滴滴开源的第三方json编码库,它同时提供Go和Java两个版本。文中大量内容来自github上的wiki文档,有兴趣的朋友可以直接点击Home跳转到官方文档查阅。本文加了些自己的思考以及相关的详细学习例子,废话不多说了,冲!!!1、基础介......