Metoda dispatchEvent
Metoda dispatchEvent omogoča simulacijo
dogodka na elementu.
Zakaj je to potrebno: lahko simulirate pritisk
uporabnika na gumb, poskus pošiljanja
obrazca in tako naprej. Pri tem se dogodek ne bo
razlikoval od pravega po ničemer razen po lastnosti
event.isTrusted.
Lahko celo ustvarite dogodke z nestandardnimi
(vašimi izmišljenimi) imeni in jih nato kličete
v pravem trenutku. Metoda se uporablja za element, na katerem želite sprožiti dogodek.
Kot parameter metoda prejme dogodek (objekt), ustvarjen s konstruktorjem
new Event.
Sintaksa
element.dispatchEvent(event);
Primer
Recimo, da imamo gumb. Ob pritisku na ta gumb se izpiše sporočilo. Naredimo tako, da se ob premiku miške na gumb ta gumb 'misli', da so nanj kliknili:
<button id="button">gumb</button>
let button = document.querySelector('#button');
button.addEventListener('click', function() {
alert('sporočilo');
});
button.addEventListener('mouseover', function() {
let clickEvent = new Event('click'); // ustvarimo dogodek
this.dispatchEvent(clickEvent); // simuliramo klik na gumb
});
:
Primer
Lahko ustvarite svoje dogodke (s svojim imenom)
in jih nato v pravem trenutku kličete. Recimo,
da na gumb povežemo dogodek showMessage in ob
premiku miške nanj inicializiramo ta dogodek:
<button id="button">gumb</button>
let button = document.querySelector('#button');
button.addEventListener('showMessage', function() {
alert('sporočilo');
});
button.addEventListener('mouseover', function() {
let showMessageEvent = new Event('showMessage'); // ustvarimo dogodek
this.dispatchEvent(showMessageEvent); // sprožimo dogodek
});
: