Il comando new Event

Il comando new Event è un costruttore di eventi, con cui è possibile creare un oggetto evento, e poi attivare questo evento da JavaScript utilizzando il metodo dispatchEvent. A cosa serve: si può simulare la pressione di un utente su un pulsante, il tentativo di invio di un modulo e così via. In questo caso l'evento non si differenzierà da uno reale per nient'altro che la proprietà event.isTrusted. Si possono persino creare eventi con nomi non standard (inventati da voi) e poi attivarli al momento giusto.

Sintassi

javascriptnew Event(tipo di evento, [flag]);

Esempio

Supponiamo di avere un pulsante. Cliccando su questo pulsante viene visualizzato un messaggio. Facciamo in modo che quando il mouse passa sopra il pulsante questo pensi di essere stato cliccato:

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

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

button.addEventListener('mouseover', function() {
  let clickEvent = new Event('click'); // creiamo l'evento
  this.dispatchEvent(clickEvent); // simuliamo il click sul pulsante
});

Результат:

Esempio

Si possono creare eventi personalizzati (con un nome proprio) e poi attivarli al momento giusto. Associamo al pulsante l'evento showMessage e al passaggio del mouse inizializziamo questo evento:

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

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

button.addEventListener('mouseover', function() {
  let showMessageEvent = new Event('showMessage'); // creiamo l'evento
  this.dispatchEvent(showMessageEvent); // attiviamo l'evento
});

Результат:

Vedi anche