CustomEvent 事件是由程序创建的,可以有任意自定义功能的事件。

Note: 此特性在 Web Worker 中可用。

构造函数

CustomEvent()  创建一个自定义事件。

属性

CustomEvent.detail 只读 任何时间初始化时传入的数据

此接口从父接口继承属性, Event:

Event.bubbles Read only
A Boolean indicating whether the event bubbles up through the DOM or not.
Event.cancelBubble
A historical alias to Event.stopPropagation(). Setting its value to true before returning from an event handler prevents propagation of the event.
Event.cancelable Read only
A Boolean indicating whether the event is cancelable.
Event.composed Read only
A Boolean value indicating whether or not the event can bubble across the boundary between the shadow DOM and the regular DOM.
Event.currentTarget Read only
A reference to the currently registered target for the event. This is the object to which the event is currently slated to be sent; it's possible this has been changed along the way through retargeting.
Event.deepPath 
An Array of DOM Nodes through which the event has bubbled.
Event.defaultPrevented Read only
Indicates whether or not event.preventDefault() has been called on the event.
Event.eventPhase Read only
Indicates which phase of the event flow is being processed.
Event.explicitOriginalTarget Read only
The explicit original target of the event (Mozilla-specific).
Event.originalTarget Read only
The original target of the event, before any retargetings (Mozilla-specific).
Event.returnValue
A non-standard alternative (from old versions of Microsoft Internet Explorer) to Event.preventDefault() and Event.defaultPrevented.
Event.srcElement
A non-standard alias (from old versions of Microsoft Internet Explorer) for Event.target, which is starting to be supported in some other browsers for web compatibility purposes.
Event.target Read only
A reference to the target to which the event was originally dispatched.
Event.timeStamp Read only
The time at which the event was created (in milliseconds). By specification, this value is time since epoch, but in reality browsers' definitions vary; in addition, work is underway to change this to be a DOMHighResTimeStamp instead.
Event.type Read only
The name of the event (case-insensitive).
Event.isTrusted Read only
Indicates whether or not the event was initiated by the browser (after a user click for instance) or by a script (using an event creation method, like event.initEvent).

Obsolete properties

Event.scoped Read only
A Boolean indicating whether the given event will bubble across through the shadow root into the standard DOM. This property has been renamed to composed.

方法

 

CustomEvent.initCustomEvent()

初始化一个CustomEvent 对象.如果事件已经被触发,这个方法不起任何作用.

此接口从父接口继承方法, Event:

Event.createEvent() 

Creates a new event, which must then be initialized by calling its initEvent() method.

Event.composedPath()
Returns the event’s path (objects on which listeners will be invoked). This does not include nodes in shadow trees if the shadow root was created with its ShadowRoot.mode closed.
Event.initEvent()
Initializes the value of an Event created. If the event has already being dispatched, this method does nothing.
Event.preventDefault()
Cancels the event (if it is cancelable).
Event.stopImmediatePropagation()
For this particular event, no other listener will be called. Neither those attached on the same element, nor those attached on elements which will be traversed later (in capture phase, for instance)
Event.stopPropagation()
Stops the propagation of events further along in the DOM.

Obsolete methods

Event.getPreventDefault()
Non-standard. Returns the value of Event.defaultPrevented. Use Event.defaultPrevented instead.
Event.preventBubble() Obsolete since Gecko 24
Prevents the event from bubbling. Obsolete, use event.stopPropagation instead.
Event.preventCapture() Obsolete since Gecko 24
Obsolete, use event.stopPropagation instead.

 

方法概述

void initCustomEvent(in DOMString type, in boolean canBubble, in boolean cancelable, in any detail);

属性

Attribute Type Description
detail any 当事件初始化时传递的数据

方法

initCustomEvent()

初始化一个自定义事件的方式和初始化一个标准DOM事件的方式非常相似.

void initCustomEvent(
  in DOMString type,
  in boolean canBubble,
  in boolean cancelable,
  in any detail
);

参数

type
事件的类型名称.
canBubble
一个布尔值,表明该事件是否会冒泡.
cancelable
一个布尔值,表明该事件是否可以被取消.
detail
当事件初始化时传递的数据.

构造函数

DOM4 规范 添加了对 CustomEvent 构造函数的支持.

CustomEvent(
  DOMString type,
  optional CustomEventInit eventInitDict
)

参数

type
事件的类型名称.
eventInitDict
一个对象,提供了事件的配置信息.查看CustomEventInit了解更多详情.

CustomEventInit

bubbles
一个布尔值,表明该事件是否会冒泡.
cancelable
一个布尔值,表明该事件是否可以被取消.
detail
当事件初始化时传递的数据.

CustomEvent用法示例

// 添加一个适当的事件监听器
obj.addEventListener("cat", function(e) { process(e.detail) })

// 创建并分发事件
var event = new CustomEvent("cat", {"detail":{"hazcheeseburger":true}})
obj.dispatchEvent(event)

浏览器兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support (Yes) 6 9 ? (Yes) (533.3)
CustomEvent() constructor 15 11 ? 11.60 Nightly build (535.2)
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support ? ? ? ? ?

Gecko备注

该事件由nsIDOMCustomEvent接口定义,此接口继承于nsIDOMEvent接口.

规范

文档标签和贡献者

最后编辑者: whispererWJ,