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
# ref-for-dom-event-initevent①

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
initEvent
Deprecated

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
No support
No support
Deprecated. Not for use in new websites.
Has more compatibility info.

参见

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