CustomEvent

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

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

构造函数

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

属性

CustomEvent.detail 只读  Any data passed when initializing the event.

This interface inherits properties from its parent, 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.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.
Event.srcElement
A non-standard alias (from old versions of Microsoft Internet Explorer) for Event.target.
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)

方法

方法概述

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接口.

规范

文档标签和贡献者