EventTarget.dispatchEvent()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Dispara um Event para o EventTarget especificado, invocando os EventListeners especificados, em uma ordem apropriada. O processamento normal das regras (incluindo a captura e a fase opcional de bubbling) aplica-se a eventos disparados manualmente com dispatchEvent().

Sintaxe

cancelled = !target.dispatchEvent(event)
  • event é o objeto Event a ser disparado.
  • target é utilizado para inicializar o Event.target e determinar quais event listeners serão invocados.
  • O valor retornado é false se ao menos um dos event handlers o qual manipulou o evento chamou Event.preventDefault(). De outro modo, isto retorna true.

O método dispatchEvent joga UNSPECIFIED_EVENT_TYPE_ERR se o tipo do evento não foi especificado pela inicialização do evento antes do método ser chamado, ou se o tipo do evento for is null ou uma string vazia. Exceções jogadas por event handlers são reportadas como exceções não-capturáveis; os event handlers são executados em uma callstack aninhada; eles bloqueiam o chamador até que a rotina tenha sido totalmente executada, mas as execeções não se propagam para o chamador.

Notas

dispatchEvent é a última fase do processo create-init-dispatch, a qual é usada para disparar eventos na implementação do event model. O evento pode ser criado utilizando o método document.createEvent e pode ser inicializado com initEvent ou outro método de inicialização mais específico, como initMouseEvent ou initUIEvent.

Veja também a referência Event object.

Exemplo

Especificações