Event
接口用来描述发生在 DOM 上的任何事件;一些是用户产生的(譬如鼠标、键盘事件等),而另一些是由 API 产生的(譬如动画结束的事件、视频被暂停之类的)。事件类型众多,一些使用其他接口的,都基于主要的 Event
接口,Event
本身包含所有事件共同的属性和方法。
构造函数
1 | Event() |
创建 Event
对象,并返回之。
属性
Event.bubbles Read only
表示事件是否冒泡。
只有某些事件可冒泡。这些可冒泡的事件的
bubbles
属性值为true
。 该属性可用来检查一个事件是否允许冒泡。
Event.cancelBubble
Event.stopPropagation()
的别名。
Event.cancelable Read only
表示事件是否可撤销。
Event.scoped Read only
⚠
表示事件冒泡是否可在 shadow DOM 和 常规 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.defaultPrevented Read only
表示 Event.preventDefault()
是否被调用。
Event.eventPhase Read only
表示事件流正在处理哪个阶段。返回一个整型类型的值,如下:
Constant | Value | Description |
---|---|---|
Event.NONE | 0 | 当前没有事件处理(事件尚未被发送)。 |
Event.CAPTURING_PHASE | 1 | 捕获阶段。事件通过目标的祖先元素进行传播。从 Window 开始,然后 Document ,再然后 HTMLHtmlElement ……一直到目标的父元素。以捕获模式注册的事件监听函数会被触发。 |
Event.AT_TARGET | 2 | 事件到达目标对象。注册在目标对象上的事件监听函数会被触发。 若 Event.bubbles 值为 false ,此阶段完成后,即完成事件处理。 |
Event.BUBBLING_PHASE | 3 | 冒泡阶段。事件逆序向目标祖先元素传播,从父元素开始, 最终到达 Window 。冒泡只在 Event.bubbles 为 true 时才会发生。以冒泡模式注册的事件监听函数会被触发。 |
Event.srcElement ⚠
非标准的对 Event.target
的引用(IE 浏览器)。
Event.target Read only
指向事件派发者的引用。
Event.timeStamp
从当前文档的生命周期开始到创建事件为止经过的毫秒数。在较新的实现中,该值是 DOMHighResTimeStamp
类型,精确到 5 毫秒,在较老的实现中,该值是 DOMTimeStamp 类型。
Event.type Read only
事件名称(区分大小写)。
Event.isTrusted Read only
表示事件是经由浏览器发起(例如在用户点击之后),还是由脚本发起(例如使用 Event.initEvent
)。
当事件由用户操作产生时值为 true
,当事件被脚本创建,修改,或经由 dispatchEvent()
方法发送时值为 false
。