自定义事件

  • 创建事件
// Event构造器,无法传递数据
var myEvent = new Event('event_name');

// CustomEvent构造器
// 将需要传递的数据写在detail中,以便在EventListener中获取
// 数据将会在event.detail中得到
var myEvent = new CustomEvent('event_name', {
    detail: {},
});
  • 监听事件
window.addEventListener('event_name', function(event){
    // 如果是CustomEvent,传入的数据在event.detail中
    console.log('得到数据为:', event.detail);
});
  • 触发事件
window.dispatchEvent(myEvent);

// IE8低版本兼容
window.fireEvent(myEvent);

// 兼容写法
if (window.dispatchEvent) {
  window.dispatchEvent(myEvent);
} else {
  window.fireEvent(myEvent);
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。