Käsk new Event

Käsk new Event - sündmuste konstruktor, mille abil saab luua sündmusobjekti ja seejärel käivitada selle sündmuse JavaScriptist meetodi dispatchEvent abil. Miks seda vaja on: saab imiteerida kasutaja vajutust nupule, vormi saatmise katset ja nii edasi. Sel juhul ei erine sündmus päris sündmusest millegi poolest peale omaduse event.isTrusted. Võib isegi luua sündmusi ebastandardsete (sinu poolt välja mõeldud) nimedega ja seejärel käivitada need õigel hetkel.

Süntaks

javascriptnew Event(sündmuse tüüp, [lipud]);

Näide

Oletame, et meil on nupp. Sellele nupule vajutamisel kuvatakse sõnum. Paneme nii, et kui hiir nupu peale viia, 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); // imiteerime nupule klõpsamist
});

Результат:

Näide

Võib luua oma sündmusi (oma nimega) ja siis õigel hetkel need käivitada. Paneme nupule sündmuse showMessage ja hiirega peale viimisel 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
});

Результат:

Vaata ka