Event.initEvent()

已废弃: 该特性已经从 Web 标准中删除,虽然一些浏览器目前仍然支持它,但也许会在未来的某个时间停止支持,请尽量不要使用该特性。

Event.initEvent() 方法可以用来初始化由Document.createEvent() 创建的 event 实例。

用这种方式初始化事件必须是由 Document.createEvent() 方法创建的实例。本方法必须在事件被触发之前调用(用EventTarget.dispatchEvent()调用).事件 一旦被调用,便不再做其他任何事。

不建议再使用此方法(方法已经过时 deprecated)

可以使用特定的 event 构造器函数,比如 Event(). 该页有关于这些的更多信息 Creating and triggering events .

语法

event.initEvent(type, bubbles, cancelable);
type
一个 DOMString 类型的字段,定义了事件的类型。
bubbles
一个 Boolean 值,决定是否事件是否应该向上冒泡。一旦设置了这个值,只读属性Event.bubbles也会获取相应的值。
cancelable
一个 Boolean 值,决定该事件的默认动作是否可以被取消。一旦设置了这个值,只读属性 Event.cancelable 也会获取相应的值。

范例

// 创建事件。
var event = document.createEvent('Event');

// 初始化一个点击事件,可以冒泡,无法被取消
event.initEvent('click', true, false);

// 设置事件监听。
elem.addEventListener('click', function (e) {
  // e.target 就是监听事件目标元素
}, false);

// 触发事件监听
elem.dispatchEvent(event);

规范

Specification
DOM Standard
# ref-for-dom-event-initevent①

浏览器兼容

BCD tables only load in the browser

另见

  • The constructor to use instead of this deprecated method: Event(). More specific constructors can be used too.