Module java.xml

Interface EventTarget


public interface EventTarget
EventTarget接口由支持DOM事件模型的实现中的所有Nodes实现。因此,可以通过在Node接口的实例上使用特定于绑定的转换方法来获取此接口。该接口允许在EventTarget上注册和移除EventListeners,并将事件分派到该EventTarget

另请参阅文档对象模型(DOM)2级事件规范

自:
1.5,DOM 2级
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addEventListener(String type, EventListener listener, boolean useCapture)
    此方法允许在事件目标上注册事件侦听器。
    boolean
    此方法允许将事件分派到实现的事件模型中。
    void
    removeEventListener(String type, EventListener listener, boolean useCapture)
    此方法允许从事件目标中移除事件侦听器。
  • Method Details

    • addEventListener

      void addEventListener(String type, EventListener listener, boolean useCapture)
      此方法允许在事件目标上注册事件侦听器。如果在处理事件时向EventTarget添加EventListener,则不会被当前操作触发,但可能在事件流的后续阶段(例如冒泡阶段)触发。
      如果在同一EventTarget上使用相同参数注册多个相同的EventListener,则重复的实例将被丢弃。它们不会导致EventListener被调用两次,并且由于它们被丢弃,因此不需要使用removeEventListener方法将其移除。
      参数:
      type - 用户注册的事件类型
      listener - listener参数接受用户实现的接口,其中包含事件发生时要调用的方法。
      useCapture - 如果为true,则useCapture表示用户希望启动捕获。启动捕获后,所有指定类型的事件将在分派到树中位于其下方的任何EventTargets之前分派到注册的EventListener。通过树向上冒泡的事件不会触发指定使用捕获的EventListener
    • removeEventListener

      void removeEventListener(String type, EventListener listener, boolean useCapture)
      此方法允许从事件目标中移除事件侦听器。如果在处理事件时从EventTarget中移除EventListener,则不会被当前操作触发。移除EventListener后,永远不会被调用。
      使用不标识任何当前注册的EventListener的参数调用removeEventListener不会产生任何效果。
      参数:
      type - 要移除的EventListener的事件类型。
      listener - EventListener参数指示要移除的EventListener
      useCapture - 指定要移除的EventListener是否作为捕获侦听器注册。如果侦听器注册了两次,一次使用捕获,一次不使用,必须分别移除每个。移除捕获侦听器不会影响相同侦听器的非捕获版本,反之亦然。
    • dispatchEvent

      boolean dispatchEvent(Event evt) throws EventException
      此方法允许将事件分派到实现的事件模型中。以这种方式分派的事件将具有与直接由实现分派的事件相同的捕获和冒泡行为。事件的目标是调用dispatchEventEventTarget
      参数:
      evt - 指定要在处理事件时使用的事件类型、行为和上下文信息。
      返回:
      dispatchEvent的返回值指示处理事件的任何侦听器是否调用了preventDefault。如果调用了preventDefault,则值为false,否则值为true。
      抛出:
      EventException - UNSPECIFIED_EVENT_TYPE_ERR:如果在调用dispatchEvent之前未通过初始化事件指定Event的类型,则会引发此异常。指定Event的类型为null或空字符串也将触发此异常。