之前在学习自定义事件时,在MDN的Event.initEvent()页面顶端有写:该特性已从Web标准中删除,虽然一些浏览器目前仍然支持它,但也许会在未来的某个时间停止支持,请尽量不要使用该特性。
作为替代,我们可以通过创建Event对象和CustomEvent对象来创建自定义对象。先从Event()对象开始。
Event()——Event对象的构造函数
咱们可以看着下面这个例子去了解如何使用Event()创建一个自定义对象:
1
2 /*创建一个事件对象,名字为newEvent,类型为build*/
3 var newEvent = new Event('build', { bubbles:true,cancelable:true,composed:true});4
5 /*给这个事件对象创建一个属性并赋值*/
6 newEvent.name = "新的事件!";7
8 /*将自定义事件绑定在document对象上,这里绑定的事件要和我们创建的事件类型相同,不然无法触发*/
9 document.addEventListener("build",function(){10 alert("你触发了自定义事件!" +newEvent.name);11 },false)12
13 /*触发自定义事件*/
14 document.dispatchEvent(newEvent);15
启动文档的时候因为"document.dispatchEvent(newEvent)"的关系,会先触发一次事件: