dispatchEvent մեթոդ

dispatchEvent մեթոդը թույլ է տալիս իմիտացնել իրադարձություն տարրի վրա: Ինչու է դա անհրաժեշտ. կարելի է իմիտացնել օգտագործողի կտտոցը կոճակի վրա, ֆորմայի ուղարկման փորձ և այլն: Այս դեպքում իրադարձությունը չի տարբերվի իրականից, բացի event.isTrusted հատկությունից: Կարելի է նույնիսկ ստեղծել ոչ ստանդարտ (ձեր կողմից հորինված) անուններով իրադարձություններ և ապա կանչել դրանք անհրաժեշտ պահին: Մեթոդը կիրառվում է այն տարրի նկատմամբ, որի վրա պետք է կանչել իրադարձությունը: Պարամետրում մեթոդը ստանում է իրադարձություն (օբյեկտ), ստեղծված կոնստրուկտորի միջոցով new Event:

Շարահյուսություն

javascriptտարր.dispatchEvent(իրադարձություն);

Օրինակ

Ենթադրենք ունենք կոճակ: Այս կոճակի վրա կտտոցի դեպքում արտածվում է հաղորդագրություն: Եկեք անենք այնպես, որ մկնիկը կոճակի վրա բերելու դեպքում կոճակը կարծի, թե դրա վրա կտտացրել են.

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

button.addEventListener('click', function() {
  alert('հաղորդագրություն');
});

button.addEventListener('mouseover', function() {
  let clickEvent = new Event('click'); // ստեղծում ենք իրադարձություն
  this.dispatchEvent(clickEvent); // իմիտացնում ենք կտտոց կոճակի վրա
});

Результат:

Օրինակ

Կարելի է ստեղծել ձեր սեփական իրադարձությունները (սեփական անունով) և ապա անհրաժեշտ պահին կանչել դրանք: Եկեք կապենք կոճակին showMessage իրադարձությունը և մկնիկը բերելու դեպքում ինիցիալիզացնենք այդ իրադարձությունը.

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

button.addEventListener('showMessage', function() {
  alert('հաղորդագրություն');
});

button.addEventListener('mouseover', function() {
  let showMessageEvent = new Event('showMessage'); // ստեղծում ենք իրադարձություն
  this.dispatchEvent(showMessageEvent); // կանչում ենք իրադարձության գործարկումը
});

Результат: