Meetod dispatchEvent
Meetod dispatchEvent võimaldab jäljendada
sündmust elemendil.
Miks seda vaja on: saab jäljendada kasutaja
nupu vajutust, vormi saatmise katset
ja nii edasi. Sel juhul ei erine sündmus
pärisest millestki peale omaduse
event.isTrusted.
Võib isegi luua sündmusi ebastandardsete
(sinu poolt välja mõeldud) nimedega ja siis käivitada
neid õigel ajal. Meetodit rakendatakse elemendile, millel sündmus käivitada.
Parameetrina saab meetod sündmuse (objekti), mis on loodud konstruktori
new Event abil.
Süntaks
element.dispatchEvent(event);
Näide
Oletame, et meil on nupp. Sellel nupul vajutamisel kuvatakse sõnum. Teeme nii, et kui hiir liigub nupu kohale, siis see nupp arvaks, et sellele on klõpsatud:
<button id="button">nupp</button>
let button = document.querySelector('#button');
button.addEventListener('click', function() {
alert('sõnum');
});
button.addEventListener('mouseover', function() {
let clickEvent = new Event('click'); // loome sündmuse
this.dispatchEvent(clickEvent); // jäljendame klõpsu nupul
});
:
Näide
Saab luua oma sündmusi (oma nimega)
ja siis õigel ajal need käivitada. Seome
nupuga sündmuse showMessage ja
hiirega viibimisel käivitame selle sündmuse:
<button id="button">nupp</button>
let button = document.querySelector('#button');
button.addEventListener('showMessage', function() {
alert('sõnum');
});
button.addEventListener('mouseover', function() {
let showMessageEvent = new Event('showMessage'); // loome sündmuse
this.dispatchEvent(showMessageEvent); // käivitame sündmuse
});
: