什么是dispatchEvent?

事件触发器

这之前,一直都不明白这是说的什么,但是当查看w3school后,对这个方法有了一定的理解。

在w3school中,这样说明这个方法:

dispatchEvent() 方法给节点分派一个合成事件。

语法:

dispatchEvent(evt)

  

参数描述
evt必需。要分派的 Event 对象。

浏览器都有原生的方法来支持,但是在兼容性上又有很大的出入,这种兼容性的问题完全在意料之中,IE有自己的方法,其他标准浏览器也有一套方法,不说谁的方法好与不好,对于WEB开发者来说搞出几套方法就是对开发人员的一种折磨。IE支持fireEvent方法来实现事件触发,标准浏览器支持dispatchEvent来实现事件触发,两面派的IE9是两者都支持。下面是出自prototype.js的源码(其实我是在查阅资料时从司徒正美的博客复制过来的):

  var fireEvent = function fireEvent(element,event){
    if (document.createEventObject){
      // IE浏览器支持fireEvent方法
      var evt = document.createEventObject();
      return element.fireEvent('on'+event,evt)
    }
    else{
      // 其他标准浏览器使用dispatchEvent方法
      var evt = document.createEvent( 'HTMLEvents' );
      // initEvent接受3个参数:
      // 事件类型,是否冒泡,是否阻止浏览器的默认行为
      evt.initEvent(event, true, true);
      return !element.dispatchEvent(evt);
    }
  };

  

 

转载于:https://www.cnblogs.com/d-12315/p/5652637.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值