Event.initEvent()

已弃用: 不再推荐使用该特性。虽然一些浏览器仍然支持它,但也许已从相关的 web 标准中移除,也许正准备移除或出于兼容性而保留。请尽量不要使用该特性,并更新现有的代码;参见本页面底部的兼容性表格以指导你作出决定。请注意,该特性随时可能无法正常工作。

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

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

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

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

语法

js
event.initEvent(type, bubbles, cancelable)
type

一个 DOMString 类型的字段,定义了事件的类型。

bubbles

一个 Boolean 值,决定是否事件是否应该向上冒泡。一旦设置了这个值,只读属性Event.bubbles也会获取相应的值。

cancelable

一个 Boolean 值,决定该事件的默认动作是否可以被取消。一旦设置了这个值,只读属性 Event.cancelable 也会获取相应的值。

示例

js
// 创建事件。
const event = document.createEvent("Event");

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

// 监听事件。
elem.addEventListener(
  "click",
  (e) => {
    // e.target 与 elem 相匹配
  },
  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.