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

javascriptnew 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:

html<button id="button">botão</button>
javascriptlet 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:

html<button id="button">botão</button>
javascriptlet 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