CustomEvent

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

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

构造函数

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

属性

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

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

Event.bubbles Read only
A boolean indicating whether or not the event bubbles up through the DOM.
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 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 the call to event.preventDefault() canceled 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 historical property introduced by Internet Explorer and eventually adopted into the DOM specification in order to ensure existing sites continue to work. Ideally, you should try to use Event.preventDefault() and Event.defaultPrevented instead, but you can use returnValue if you choose to do so.
Event.srcElement
A non-standard alias (from old versions of Microsoft Internet Explorer) for Event.target. Some other browsers are starting to support it 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
Obsolete; use composed instead. (A Boolean indicating whether the given event will bubble across through the shadow root into the standard DOM.)

方法

 

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 been dispatched, this method does nothing.
Event.preventDefault()
Cancels the event (if it is cancelable).
Event.stopImmediatePropagation()
For this particular event, prevent all other listeners from being called. This includes listeners attached to the same element as well as those attached to elements that will be traversed later (during the capture phase, for instance).
Event.stopPropagation()
Stops the propagation of events further along in the DOM.

Obsolete methods

Event.getPreventDefault()
Non-standard; use Event.defaultPrevented instead. (Returns the value of Event.defaultPrevented.)
Event.preventBubble() Obsolete since Gecko 24
Obsolete; use event.stopPropagation instead. (Prevents the event from bubbling.)
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)

浏览器兼容性

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
CustomEventChrome Full support YesEdge Full support 12Firefox Full support 6IE Full support 9Opera Full support 11Safari Full support 5.1WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
CustomEvent() constructorChrome Full support 15Edge Full support ≤18Firefox Full support 11IE No support NoOpera Full support 11.6Safari Full support 6.1WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support 6.1Samsung Internet Android Full support Yes
detailChrome Full support 11Edge Full support 14Firefox Full support 11IE No support NoOpera Full support 11.6Safari Full support 6.1WebView Android Full support YesChrome Android Full support YesFirefox Android Full support 14Opera Android Full support YesSafari iOS Full support 6.1Samsung Internet Android Full support Yes
initCustomEvent
Deprecated
Chrome Full support Yes
Full support Yes
Full support 59
Notes
Notes canBubble, cancelable, and detail are optional parameters defaulting to false, false, and null respectively.
Edge Full support 14Firefox Full support 6IE Full support 9Opera Full support 11Safari Full support 5.1WebView Android Full support Yes
Full support Yes
Full support 59
Notes
Notes canBubble, cancelable, and detail are optional parameters defaulting to false, false, and null respectively.
Chrome Android Full support Yes
Full support Yes
Full support 59
Notes
Notes canBubble, cancelable, and detail are optional parameters defaulting to false, false, and null respectively.
Firefox Android Full support 6Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
Full support Yes
Full support 7.0
Notes
Notes canBubble, cancelable, and detail are optional parameters defaulting to false, false, and null respectively.
Available in workersChrome Full support YesEdge Full support 12Firefox Full support 48IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 48Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes

Legend

Full support  
Full support
No support  
No support
Deprecated. Not for use in new websites.
Deprecated. Not for use in new websites.
See implementation notes.
See implementation notes.

规范