Metoda dispatchEvent
Metoda dispatchEvent omogućava simuliranje
događaja na elementu.
Zašto je ovo potrebno: moguće je simulirati pritisak
korisnika na dugme, pokušaj slanja
forme i tako dalje. Pritom se događaj neće
razlikovati od pravog ni po čemu osim po svojstvu
event.isTrusted.
Moguće je čak kreirati događaje sa nestandardnim
(izmišljenim) nazivima i zatim ih pozivati
u pravi trenutak. Metoda se primenjuje na element na kom je potrebno pokrenuti događaj.
U parametru metoda prima događaj (objekat), kreiran pomoću konstruktora
new Event.
Sintaksa
element.dispatchEvent(event);
Primer
Neka imamo dugme. Klikom na ovo dugme prikazuje se poruka. Hajde da učinimo tako da pri prelasku mišem preko dugmeta ovo dugme misli da je na njega kliknuto:
<button id="button">dugme</button>
let button = document.querySelector('#button');
button.addEventListener('click', function() {
alert('poruka');
});
button.addEventListener('mouseover', function() {
let clickEvent = new Event('click'); // kreiramo događaj
this.dispatchEvent(clickEvent); // simuliramo klik na dugme
});
:
Primer
Moguće je kreirati sopstvene događaje (sa sopstvenim nazivom)
i zatim ih u pravi trenutak pozivati. Hajde da
vežemo za dugme događaj showMessage i pri
prelasku mišem pokrenemo ovaj događaj:
<button id="button">dugme</button>
let button = document.querySelector('#button');
button.addEventListener('showMessage', function() {
alert('poruka');
});
button.addEventListener('mouseover', function() {
let showMessageEvent = new Event('showMessage'); // kreiramo događaj
this.dispatchEvent(showMessageEvent); // pokrećemo okidanje događaja
});
: