Metodas dispatchEvent
Metodas dispatchEvent leidžia imituoti
įvykį elemente.
Kam to reikia: galima imituoti vartotojo paspaudimą
ant mygtuko, formos pateikimo bandymą
ir taip toliau. Tuo pačiu įvykis nebus
kuo nors skiriasi nuo tikrojo, išskyrus savybę
event.isTrusted.
Galima net kurti įvykius su nestandartiniais
(jūsų sugalvotais) pavadinimais ir tada iškviesti
juos reikiamu momentu. Metodas taikomas elementui, ant kurio reikia iškviesti įvykį.
Parametre metodas gauna įvykį (objektą), sukurtą naudojant konstruktorių
new Event.
Sintaksė
javascriptelementas.dispatchEvent(įvykis);
Pavyzdys
Tarkime, kad turime mygtuką. Paspaudus ant šio mygtuko išvedamas pranešimas. Padarykime taip, kad užvedus pelės žymeklį ant mygtuko šis mygtukas manytų, kad jis buvo paspaustas:
html<button id="button">mygtukas</button>javascriptlet button = document.querySelector('#button');
button.addEventListener('click', function() {
alert('pranešimas');
});
button.addEventListener('mouseover', function() {
let clickEvent = new Event('click'); // sukuriame įvykį
this.dispatchEvent(clickEvent); // imituojame paspaudimą ant mygtuko
});
Результат:
Pavyzdys
Galima kurti savus įvykius (su savo pavadinimu)
ir vėliau reikiamu momentu juos iškviesti. Susiekime
su mygtuku įvykį showMessage ir
užvedus pelės žymeklį inicijuokime šį įvykį:
html<button id="button">mygtukas</button>javascriptlet button = document.querySelector('#button');
button.addEventListener('showMessage', function() {
alert('pranešimas');
});
button.addEventListener('mouseover', function() {
let showMessageEvent = new Event('showMessage'); // sukuriame įvykį
this.dispatchEvent(showMessageEvent); // iškviečiame įvykio suveikimą
});
Результат: