dispatchEvent մեթոդ
dispatchEvent մեթոդը թույլ է տալիս իմիտացնել
իրադարձություն տարրի վրա:
Ինչու է դա անհրաժեշտ. կարելի է իմիտացնել
օգտագործողի կտտոցը
կոճակի վրա, ֆորմայի ուղարկման
փորձ և այլն: Այս դեպքում իրադարձությունը չի
տարբերվի իրականից, բացի event.isTrusted
հատկությունից:
Կարելի է նույնիսկ ստեղծել ոչ ստանդարտ
(ձեր կողմից հորինված) անուններով իրադարձություններ և ապա կանչել
դրանք անհրաժեշտ պահին: Մեթոդը կիրառվում է այն տարրի նկատմամբ, որի վրա պետք է կանչել իրադարձությունը:
Պարամետրում մեթոդը ստանում է իրադարձություն (օբյեկտ), ստեղծված կոնստրուկտորի միջոցով
new Event:
Շարահյուսություն
տարր.dispatchEvent(իրադարձություն);
Օրինակ
Ենթադրենք ունենք կոճակ: Այս կոճակի վրա կտտոցի դեպքում արտածվում է հաղորդագրություն: Եկեք անենք այնպես, որ մկնիկը կոճակի վրա բերելու դեպքում կոճակը կարծի, թե դրա վրա կտտացրել են.
<button id="button">կոճակ</button>
let button = document.querySelector('#button');
button.addEventListener('click', function() {
alert('հաղորդագրություն');
});
button.addEventListener('mouseover', function() {
let clickEvent = new Event('click'); // ստեղծում ենք իրադարձություն
this.dispatchEvent(clickEvent); // իմիտացնում ենք կտտոց կոճակի վրա
});
:
Օրինակ
Կարելի է ստեղծել ձեր սեփական իրադարձությունները (սեփական անունով)
և ապա անհրաժեշտ պահին կանչել դրանք: Եկեք
կապենք կոճակին showMessage իրադարձությունը և
մկնիկը բերելու դեպքում ինիցիալիզացնենք այդ իրադարձությունը.
<button id="button">կոճակ</button>
let button = document.querySelector('#button');
button.addEventListener('showMessage', function() {
alert('հաղորդագրություն');
});
button.addEventListener('mouseover', function() {
let showMessageEvent = new Event('showMessage'); // ստեղծում ենք իրադարձություն
this.dispatchEvent(showMessageEvent); // կանչում ենք իրադարձության գործարկումը
});
: