前言
有些教程中说使用 Event.initEvent() 创建事件,但是此方法已弃用,所以下文使用new Event()。
mdn官方文档中,明确说明Event.initEvent()弃用。
建议使用Event()构造函数,这里以chrome为例,兼容请很强,支持chrome15及以上(最新版本已经120+)。
Event()构造函数实现
一、创建事件对象
语法:event = new Event(typeArg, eventInit)
参数说明:
- typeArg:DOMString 类型,表示所创建事件的名称。
- eventInit: 可选参数,EventInit 类型的字典。
接受以下字段:
bubbles:可选,Boolean类型,默认值为 false,表示该事件是否冒泡。
cancelable:可选,Boolean类型,默认值为 false,表示该事件能否被取消。
composed:可选,Boolean类型,默认值为 false,指示事件是否会在影子 DOM 根节点之外触发侦听器。
var event = new Event("change", {