Интерфейс EventTarget
public interface EventTarget
Интерфейс EventTarget реализуется всеми Nodes в реализации, которая поддерживает модель событий DOM. Поэтому этот интерфейс можно получить, используя методы приведения типов, специфичные для привязки, к экземпляру интерфейса Node. Интерфейс позволяет регистрировать и удалять EventListeners на EventTarget и отправлять события на этот EventTarget.
См. также Спецификацию событий Document Object Model (DOM) Level 2.
- С момента:
- DOM Level 2
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
addEventListener(String type,
EventListener listener,
boolean useCapture) Этот метод позволяет зарегистрировать обработчики событий на целевом объекте. |
boolean |
dispatchEvent(Event evt) Этот метод позволяет отправить события в модель событий реализации. |
void |
removeEventListener(String type,
EventListener listener,
boolean useCapture) Этот метод позволяет удалить обработчики событий с целевого объекта. |
Методы
addEventListener
void addEventListener(String type,
EventListener listener,
boolean useCapture) Этот метод позволяет зарегистрировать обработчики событий на целевом объекте. Если обработчик EventListener добавлен к EventTarget во время обработки события, он не будет вызван текущими действиями, но может быть вызван на более поздней стадии потока события, такой как фаза всплытия.
Если несколько идентичных EventListener зарегистрированы на одном и том же EventTarget с одинаковыми параметрами, дублированные экземпляры отбрасываются. Они не вызывают вызов EventListener дважды, и поскольку они отбрасываются, их не нужно удалять методом removeEventListener.
- Параметры:
-
type- Тип события, для которого пользователь регистрируется -
listener- Параметрlistenerпринимает интерфейс, реализованный пользователем, который содержит методы, которые должны вызываться при возникновении события. -
useCapture- Если true,useCaptureуказывает, что пользователь хочет инициировать захват. После инициирования захвата все события указанного типа будут передаваться зарегистрированномуEventListenerперед передачей любомуEventTargetsниже него в дереве. События, которые всплывают вверх по дереву, не будут вызыватьEventListener, предназначенный для использования захвата.
removeEventListener
void removeEventListener(String type,
EventListener listener,
boolean useCapture) Этот метод позволяет удалить обработчики событий с целевого объекта. Если обработчик EventListener удален с EventTarget во время обработки события, он не будет вызван текущими действиями. EventListener никогда не могут быть вызваны после удаления.
Вызов removeEventListener с аргументами, которые не идентифицируют ни одного зарегистрированного EventListener на EventTarget, не оказывает никакого эффекта.
- Параметры:
-
type- Указывает тип события удаляемогоEventListener. -
listener- ПараметрEventListenerуказываетEventListenerдля удаления. -
useCapture- Указывает, был ли зарегистрированныйEventListenerв качестве обработчика захвата или нет. Если обработчик был зарегистрирован дважды, один с захватом и один без него, каждый должен быть удален отдельно. Удаление обработчика захвата не влияет на не-захватывающую версию того же обработчика, и наоборот.
dispatchEvent
boolean dispatchEvent(Event evt)
throws EventException Этот метод позволяет отправить события в модель событий реализации. События, отправленные таким образом, будут иметь то же поведение захвата и всплытия, что и события, отправленные непосредственно реализацией. Цель события — EventTarget, на котором вызывается dispatchEvent.
- Параметры:
-
evt- Указывает тип события, поведение и контекстную информацию, которые будут использоваться при обработке события. - Возвращает:
- Значение возврата
dispatchEventуказывает, вызвал ли любой из обработчиков событияpreventDefault. ЕслиpreventDefaultбыл вызван, значение равно false, в противном случае значение равно true. - Исключение:
-
EventException- UNSPECIFIED_EVENT_TYPE_ERR: Возникает, если типEventне был указан путем инициализации события до вызоваdispatchEvent. Указание типаEventкакnullили пустой строкой также вызовет это исключение.
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.