浅谈自定义事件如何创建,触发和监听?
我们知道的原生js事件,即内置事件有click, blur, mousemove等等。那如果我们想自定义一个事件呢?
1、通过new Event创建一个事件实例
2、触发事件通过dispatch进行事件分发
3、监听事件还是通过addEventListener
以下是代码,以供参考:
1 <body> 2 <div id="box" style="background-color: aqua;width: 200px;height: 200px;"></div> 3 <script type="text/javascript"> 4 const div = document.getElementById('box') 5 // 创建一个事件 6 const hello = new Event('greet') 7 // 监听这个自定义事件 8 div.addEventListener('greet',()=>{ 9 alert('hello') 10 }) 11 // 触发事件,dispatch代表分发事件的意思 12 setTimeout(() => { 13 div.dispatchEvent(hello) 14 },2000) 15 </script> 16 </body>