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 或空字符串也会触发此异常。