Comando new Event

El comando new Event es un constructor de eventos, con el cual se puede crear un objeto de evento, y luego disparar este evento desde JavaScript usando el método dispatchEvent. Para qué sirve esto: se puede simular el clic de un usuario en un botón, el intento de envío de un formulario, etc. En este caso, el evento no se diferenciará de uno real en nada excepto por la propiedad event.isTrusted. Incluso se pueden crear eventos con nombres no estándar (inventados por usted) y luego dispararlos en el momento adecuado.

Sintaxis

javascriptnew Event(tipo de evento, [banderas]);

Ejemplo

Supongamos que tenemos un botón. Al hacer clic en este botón, se muestra un mensaje. Hagamos que al pasar el ratón sobre el botón, este botón piense que se hizo clic en él:

html<button id="button">button</button>
javascriptlet button = document.querySelector('#button');

button.addEventListener('click', function() {
  alert('message');
});

button.addEventListener('mouseover', function() {
  let clickEvent = new Event('click'); // creamos un evento
  this.dispatchEvent(clickEvent); // simulamos un clic en el botón
});

Результат:

Ejemplo

Se pueden crear eventos personalizados (con su propio nombre) y luego dispararlos en el momento adecuado. Vamos a vincular a un botón el evento showMessage y al pasar el ratón sobre él, inicializaremos este evento:

html<button id="button">button</button>
javascriptlet button = document.querySelector('#button');

button.addEventListener('showMessage', function() {
  alert('message');
});

button.addEventListener('mouseover', function() {
  let showMessageEvent = new Event('showMessage'); // creamos un evento
  this.dispatchEvent(showMessageEvent); // disparamos la activación del evento
});

Результат:

Véase también