public interface EventTarget
EventTarget
接口由支持DOM事件模型的实现中的所有Nodes
实现。因此,可以通过在Node
接口的实例上使用特定于绑定的转换方法来获取此接口。该接口允许在EventTarget
上注册和移除EventListeners
,并将事件分派到该EventTarget
。
另请参阅文档对象模型(DOM)2级事件规范。
- 自:
- 1.5,DOM 2级
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addEventListener
(String type, EventListener listener, boolean useCapture) 此方法允许在事件目标上注册事件侦听器。boolean
dispatchEvent
(Event evt) 此方法允许将事件分派到实现的事件模型中。void
removeEventListener
(String type, EventListener listener, boolean useCapture) 此方法允许从事件目标中移除事件侦听器。
-
Method Details
-
addEventListener
此方法允许在事件目标上注册事件侦听器。如果在处理事件时向EventTarget
添加EventListener
,则不会被当前操作触发,但可能在事件流的后续阶段(例如冒泡阶段)触发。
如果在同一EventTarget
上使用相同参数注册多个相同的EventListener
,则重复的实例将被丢弃。它们不会导致EventListener
被调用两次,并且由于它们被丢弃,因此不需要使用removeEventListener
方法将其移除。- 参数:
-
type
- 用户注册的事件类型 -
listener
-listener
参数接受用户实现的接口,其中包含事件发生时要调用的方法。 -
useCapture
- 如果为true,则useCapture
表示用户希望启动捕获。启动捕获后,所有指定类型的事件将在分派到树中位于其下方的任何EventTargets
之前分派到注册的EventListener
。通过树向上冒泡的事件不会触发指定使用捕获的EventListener
。
-
removeEventListener
此方法允许从事件目标中移除事件侦听器。如果在处理事件时从EventTarget
中移除EventListener
,则不会被当前操作触发。移除EventListener
后,永远不会被调用。
使用不标识任何当前注册的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
或空字符串也将触发此异常。
-