public interface EventTarget
EventTarget 接口由所有 Nodes 在支持 DOM 事件模型的实现中实现。因此,可以通过在 Node 接口的实例上使用特定于绑定的转换方法来获取此接口。该接口允许在 EventTarget 上注册和删除 EventListeners 并将事件分派到该 EventTarget 。
- 自从:
- 1.5、DOM 2 级
-
方法总结
修饰符和类型方法描述voidaddEventListener(String type, EventListener listener, boolean useCapture) 此方法允许在事件目标上注册事件监听。booleandispatchEvent(Event evt) 此方法允许将事件分派到实现事件模型中。voidremoveEventListener(String type, EventListener listener, boolean useCapture) 此方法允许从事件目标中删除事件监听。
-
方法详情
-
addEventListener
此方法允许在事件目标上注册事件监听器。如果在处理事件时将EventListener添加到EventTarget,则它不会被当前操作触发,但可能会在事件流的后期阶段(例如冒泡阶段)触发。
如果多个相同的EventListener以相同的参数在同一个EventTarget上注册,则重复的实例将被丢弃。它们不会导致EventListener被调用两次,并且由于它们已被丢弃,因此不需要使用removeEventListener方法将其删除。- 参数:
type- 用户注册的事件类型listener-listener参数采用用户实现的接口,其中包含事件发生时要调用的方法。useCapture- 如果为真,useCapture表示用户希望启动捕获。启动捕获后,指定类型的所有事件将被分派到已注册的EventListener,然后再分派到树中它们下方的任何EventTargets。通过树向上冒泡的事件不会触发指定使用捕获的EventListener。
-
removeEventListener
此方法允许从事件目标中删除事件监听器。如果EventListener在处理事件时从EventTarget中移除,则当前操作不会触发它。EventListeners 被删除后永远无法调用。
使用不识别任何当前在EventTarget上注册的EventListener的参数调用removeEventListener无效。- 参数:
type- 指定要删除的EventListener的事件类型。listener-EventListener参数表示要删除的EventListener。useCapture- 指定被删除的EventListener是否注册为捕获监听器。如果一个监听器被注册了两次,一次有捕获,一次没有,则每个都必须单独删除。删除捕获监听器不会影响同一监听器的非捕获版本,反之亦然。
-
dispatchEvent
此方法允许将事件分派到实现事件模型中。以这种方式分派的事件将具有与由实现直接分派的事件相同的捕获和冒泡行为。事件的目标是调用dispatchEvent的EventTarget。- 参数:
evt- 指定用于处理事件的事件类型、行为和上下文信息。- 返回:
dispatchEvent的返回值指示是否有任何处理事件的监听器调用了preventDefault。如果调用了preventDefault,则该值为 false,否则该值为 true。- 抛出:
EventException- UNSPECIFIED_EVENT_TYPE_ERR:如果在调用dispatchEvent之前未通过初始化事件指定Event的类型,则引发。将Event的类型指定为null或空字符串也会触发此异常。
-