码迷,mamicode.com
首页 > 其他好文 > 详细

DOM3中的自定义事件

时间:2019-11-25 23:40:19      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:add   listen   pen   class   data   冒泡   out   返回   tar   

DOM3级还定义了自定义事件,自定义事件不是由DOM原生触发的,它的目的是让开发人员创建自己的事件。要创建的自定义事件可以由createEvent("CustomEvent"); 返回的对象有一个initCustomEvent()方法接收如下四个参数。

  1. type:字符串,触发的事件类型,自定义。例如 “keyDown”,“selectedChange”;
  2. bubble(布尔值):标示事件是否应该冒泡;
  3. cancelable(布尔值):标示事件是否可以取消;
  4. detail(对象):任意值,保存在event对象的detail属性中;

下面举例: 当点击按钮的时候,一秒钟之后会触发一个id为target的元素的自定义事件myEvent,此自定义事件发生冒泡,依次经过target,wrap和document。
实际例子在这里:https://codepen.io/zhaojianxi...

<div id= wrap>
  <div>
    <div id="target"></div>
  </div>
  <button id=‘btn‘>点击</button>
</div>

  var e = document.createEvent("CustomEvent");
  e.initCustomEvent("myEvent",true,false,"hello world!");

       var btn = document.getElementById(‘btn‘);

       btn.addEventListener(‘click‘,function(){
         setTimeout(function(){
           target.dispatchEvent(e)
         },1000)
       })

       var wrap = document.getElementById(‘wrap‘);
       var target = document.getElementById(‘target‘);
       target.addEventListener(‘myEvent‘,function(e){
         console.log(‘target‘,e)
       })
       wrap.addEventListener(‘myEvent‘,function(e){
         console.log(‘wrap‘,e)
       })
       window.addEventListener(‘myEvent‘,function(e){
         console.log(‘window‘,e)
       })

DOM3中的自定义事件

标签:add   listen   pen   class   data   冒泡   out   返回   tar   

原文地址:https://www.cnblogs.com/baimeishaoxia/p/11931552.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!