new Event komandası

new Event komandası - hadisə konstruktorudur, onun köməyi ilə hadisə obyekti yaradıla bilər, sonra isə dispatchEvent metodu vasitəsi ilə bu hadisəni JavaScript-dən işə salmaq olar. Buna nə ehtiyac var: istifadəçinin düyməni basmasını, formanın göndərilmə cəhdini və s. təqlid etmək olar. Bu zaman hadisə əslindən event.isTrusted xassəsi istisna olmaqla, heç nə ilə fərqlənməyəcək. Hətta qeyri-standart (tərəfinizdən uydurulmuş) adlara malik hadisələr yaradıb sonra onları lazımi anda işə sala bilərsiniz.

Sintaksis

javascriptnew Event(hadisə tipi, [flaglar]);

Nümunə

Tutaq ki, bizim bir düyməmiz var. Bu düyməni basdıqda bir mesaj çıxır. Gəlin elə edək ki, siçan düymənin üzərinə gətirildikdə bu düymə özünün kliklənildiyini düşünsün:

html<button id="button">button</button>
javascriptlet button = document.querySelector('#button');

button.addEventListener('click', function() {
  alert('mesaj');
});

button.addEventListener('mouseover', function() {
  let clickEvent = new Event('click'); // hadisə yaradırıq
  this.dispatchEvent(clickEvent); // düyməyə klik etməni təqlid edirik
});

Результат:

Nümunə

Öz hadisələrinizi (öz adınızla) yarada bilərsiniz və sonra lazımi anda onları işə sala bilərsiniz. Gəlin düyməyə showMessage hadisəsini bağlayaq və siçan üzərinə gətirildikdə bu hadisəni işə salaq:

html<button id="button">button</button>
javascriptlet button = document.querySelector('#button');

button.addEventListener('showMessage', function() {
  alert('mesaj');
});

button.addEventListener('mouseover', function() {
  let showMessageEvent = new Event('showMessage'); // hadisə yaradırıq
  this.dispatchEvent(showMessageEvent); // hadisənin işə düşməsini təmin edirik
});

Результат:

Həmçinin baxın