问题记录:document.createEvent,dispatchEvent和addEventListener的区别

document.createEvent用于创建事件

事件又 HtmlEvents,MouseEvents,UIEvents

参数事件接口初始化方法
HTMLEventsHTMLEventinitEvent()
MouseEventsMouseEventinitMouseEvent
UIEventsUIEventinitUIEvent

步骤:

  1. 创建事件:var ev = document.createEvent('CustomEvent');
  2. 初始化事件:ev.initCustomEvent('自定义事件名称', false(是否允许冒泡), false(是否允许中断),args)
  3. 为DOM添加事件监听:element.addEventListener('自定义事件名称',fn,false)
  4. 分发(触发)自定义事件:element.dispatchEvent(ev)
  • 通过使用 event.isTrusted 判断事件是由代码还是用户触发。

dispatchEvent和addEventListener区别

addEventListener(type,fun,bool)是监听一个事件,当触发事件时,执行函数,那么什么时候触发事件呢,当监听到dispatchEvent(type)时,触发

dispatchEvent是发布事件的意思

例子说明:

var  a:Sprite =  new  Sprite(); 
a.addEventListener(MyEvent.OPEN_QQ, openqq);
stage.addEventListener(MouseEvent.CLICK, handle);  //注册一个鼠标点击舞台的监听器
private  function  handle(e:MouseEvent): void {
     //当鼠标点击舞台时,我们通知a对象发生了打开qq这个事件,a对象会执行openqq函数
     a.dispatchEvent( new  MyEvent(MyEvent.OPEN_QQ));
}
private  function  openqq(e:MyEvent): void {
     //执行打开qq的代码,此处略...
}
  1. $(dom).addEvent("ft", function() {
        alert("走起");
    });
     
    // 创建
    var evt = document.createEvent("HTMLEvents");
    // 初始化
    evt.initEvent("ft", false, false);
     
    // 触发, 即弹出文字
    dom.dispatchEvent(evt);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值