创建自定义事件

为什么要自定义事件,自定义事件要使用在地方?

传统的事件不能满足我们的需求,所以我们需要自定义事件,比如传统的事件有单击,双击,但是突然某一天我想要三击 那就要用到自定义事件了,自定义事件一般使用在观察者模式上,比如主体需要发布各种消息通过创建各种自定义事件来实现,对于消息的订阅则通过注册监听器来实现。

var test = document.getElementById("longen");
 // 创建事件
var evt = document.createEvent('Event');
// 定义事件类型
evt.initEvent('customEvent',true,true);
// 监听事件
test.addEventListener('customEvent',function(){
     console.log("111");

},false);
// 触发事件
test.dispatchEvent(evt);

在这个过程中,createEvent方法创建了一个空事件evt,然后使用initEvent方法定义事件的类型为约定好的自定义事件,再对元素进行监听,最后使用dispatchEvent来触发事件了。自定义事件无非就是监听事件,然后自己运行回调函数,上面的initEvent的第二个参数的意思是:是否冒泡,第三个参数的意思是:是否可以使用preventDefault()来阻止默认行为。

posted @ 2017-12-12 16:43  GR07  阅读(219)  评论(0编辑  收藏  举报