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
new 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:
<button id="button">pulsante</button>
let 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:
<button id="button">pulsante</button>
let 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
-
la proprietà
addEventListener,
che associa gli eventi -
la proprietà
removeEventListener,
che rimuove gli eventi