CustomEvent 事件是由程序创建的,可以有任意自定义功能的事件。
Note: 此特性在 Web Worker 中可用。
构造函数
CustomEvent() 创建一个自定义事件。
属性
CustomEvent.detail 只读 Any data passed when initializing the event.
This interface inherits properties from its parent, Event:
Event.bubblesRead 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 totruebefore returning from an event handler prevents propagation of the event. Event.cancelableRead only- A Boolean indicating whether the event is cancelable.
Event.composedRead only- A Boolean value indicating whether or not the event can bubble across the boundary between the shadow DOM and the regular DOM.
Event.currentTargetRead 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
Arrayof DOMNodes through which the event has bubbled. Event.defaultPreventedRead only- Indicates whether or not
event.preventDefault()has been called on the event. Event.eventPhaseRead only- Indicates which phase of the event flow is being processed.
Event.explicitOriginalTargetRead only- The explicit original target of the event (Mozilla-specific).
Event.originalTargetRead 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()andEvent.defaultPrevented. Event.scopedRead only- A
Booleanindicating whether the given event will bubble across through the shadow root into the standard DOM. This property has been renamed tocomposed. Event.srcElement- A non-standard alias (from old versions of Microsoft Internet Explorer) for
Event.target. Event.targetRead only- A reference to the target to which the event was originally dispatched.
Event.timeStampRead 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
DOMHighResTimeStampinstead. Event.typeRead only- The name of the event (case-insensitive).
Event.isTrustedRead 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)
方法
方法概述
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)
浏览器兼容性
| 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接口.