Comando new Event
O comando new Event é um construtor
de eventos, com o qual você pode criar
um objeto de evento e depois disparar esse evento
a partir do JavaScript usando o método dispatchEvent.
Para que isso é útil: você pode simular o clique
do usuário em um botão, a tentativa de envio
de um formulário e assim por diante. Nesse caso, o evento não
será diferente de um real, exceto pela propriedade
event.isTrusted.
Você pode até criar eventos com nomes não padronizados
(inventados por você) e depois dispará-los
no momento certo.
Sintaxe
new Event(tipo do evento, [flags]);
Exemplo
Suponha que temos um botão. Ao clicar neste botão, uma mensagem é exibida. Vamos fazer com que ao passar o mouse sobre o botão, este botão pense que foi clicado:
<button id="button">botão</button>
let button = document.querySelector('#button');
button.addEventListener('click', function() {
alert('mensagem');
});
button.addEventListener('mouseover', function() {
let clickEvent = new Event('click'); // cria o evento
this.dispatchEvent(clickEvent); // simula o clique no botão
});
:
Exemplo
Você pode criar seus próprios eventos (com seu próprio nome)
e depois dispará-los no momento certo. Vamos
vincular ao botão um evento showMessage e,
ao passar o mouse sobre ele, inicializar esse evento:
<button id="button">botão</button>
let button = document.querySelector('#button');
button.addEventListener('showMessage', function() {
alert('mensagem');
});
button.addEventListener('mouseover', function() {
let showMessageEvent = new Event('showMessage'); // cria o evento
this.dispatchEvent(showMessageEvent); // dispara a ocorrência do evento
});
:
Veja também
-
a propriedade
addEventListener,
que vincula eventos -
a propriedade
removeEventListener,
que desvincula eventos