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

javascriptelement.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:

html<button id="button">nupp</button>
javascriptlet 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:

html<button id="button">nupp</button>
javascriptlet 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
});

Результат: