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 July 2015.
Dispara um Event
para o EventTarget
especificado, invocando os EventListener
s 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 objetoEvent
a ser disparado.target
é utilizado para inicializar oEvent.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 chamouEvent.preventDefault()
. De outro modo, isto retornatrue
.
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.