public interface EventTarget
EventTarget
接口由支持 DOM Event Model 的实现中的所有 Nodes
实现。因此,此接口可以通过在 Node
接口的实例上使用特定于绑定的强制转换方法获得。该接口允许在 EventTarget
上注册和移除 EventListeners
,并将事件指派给 EventTarget
。
另请参见《Document Object Model (DOM) Level 2 Events Specification》。
方法摘要 | |
---|---|
void |
addEventListener(String type, EventListener listener, boolean useCapture) 此方法允许在事件目标上注册事件侦听器。 |
boolean |
dispatchEvent(Event evt) 此方法允许将事件指派到实现事件模型。 |
void |
removeEventListener(String type, EventListener listener, boolean useCapture) 此方法允许从事件目标移除事件侦听器。 |
方法详细信息 |
---|
void addEventListener(String type, EventListener listener, boolean useCapture)
EventListener
添加到
EventTarget
,则该事件将不会通过当前操作触发,但可以在事件流后面的阶段(如 bubbling 阶段)触发。
EventTarget
上注册多个相同的
EventListener
,则丢弃重复的实例。它们不会引起两次调用
EventListener
,并且由于被丢弃,它们不需要使用
removeEventListener
方法移除。
type
- 用户正在注册的事件类型
listener
-
listener
参数采用由用户实现的接口,该接口包含事件发生时要调用的方法。
useCapture
- 如果为 true,则
useCapture
指示用户希望启动捕获。启动捕获后,所有指定类型的事件将在被指派到树中其下面的任何
EventTargets
之前指派给已注册的
EventListener
。正在通过树向上 bubbling 的事件将不触发指定的使用捕获的
EventListener
。
void removeEventListener(String type, EventListener listener, boolean useCapture)
EventListener
在处理事件时从
EventTarget
移除,则它不会由当前操作触发。
EventListener
永远不能在移除后被调用。
EventTarget
上的任何当前已注册的
EventListener
的参数调用
removeEventListener
时无效。
type
- 指定正在被移除的
EventListener
的事件类型。
listener
- 该
EventListener
参数指示要被移除的
EventListener
。
useCapture
- 指定正被移除的
EventListener
是否是作为捕获侦听器注册的。如果一个侦听器注册了两次,一次带有捕获,一次不带捕获,每次都必须单独移除。移除捕获侦听器不影响同一侦听器的非捕获版本,反之亦然。
boolean dispatchEvent(Event evt) throws EventException
dispatchEvent
的
EventTarget
。
evt
- 指定用于处理事件的事件类型、行为或上下文信息。
dispatchEvent
的返回值指示处理事件的任何一个侦听器是否调用了
preventDefault
。如果调用了
preventDefault
,则值为 false;否则该值为 true。
EventException
- UNSPECIFIED_EVENT_TYPE_ERR: 如果
Event
的类型不是在调用
dispatchEvent
之前通过初始化该事件指定的,则引发该异常。把
Event
的类型指定为
null
或空字符串也会触发此异常。