dispatchEvent usuli

dispatchEvent usuli elementda hodisani simulyatsiya qilish imkonini beradi. Bu nima uchun kerak: foydalanuvchi tugmasini bosishini, formani yuborishga urinishni va hokazolarni simulyatsiya qilish mumkin. Bunda hodisa haqiqiydan event.isTrusted xususiyatidan boshqa hech narsada farq qilmaydi. Hatto nostandart (o'ylab topilgan) nomlarga ega bo'lgan hodisalarni yaratish va keyin ularni kerakli paytda chaqirish mumkin. Usul hodisani chaqirish kerak bo'lgan elementga qo'llaniladi. Parametrda usul konstruktor yordamida yaratilgan hodisani (ob'ektni) oladi new Event.

Sintaksis

javascriptelement.dispatchEvent(hodisa);

Misol

Faraz qilaylik, bizda tugma bor. Ushbu tugmani bosganda xabar chiqadi. Keling, sichqoncha tugma ustiga olib borilganda u bosilgandek hisoblanishi uchun qilaylik:

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

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

button.addEventListener('mouseover', function() {
  let clickEvent = new Event('click'); // hodisa yaratamiz
  this.dispatchEvent(clickEvent); // tugmani bosishni simulyatsiya qilamiz
});

Результат:

Misol

O'z hodisalaringizni (o'z nomingiz bilan) yaratish va keyin kerakli paytda ularni chaqirish mumkin. Keling, tugmaga showMessage hodisasini bog'laymiz va sichqoncha olib borilganda bu hodisani ishga tushiramiz:

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

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

button.addEventListener('mouseover', function() {
  let showMessageEvent = new Event('showMessage'); // hodisa yaratamiz
  this.dispatchEvent(showMessageEvent); // hodisaning ishlashini chaqiramiz
});

Результат: