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ė
elementas.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:
<button id="button">mygtukas</button>
let 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į:
<button id="button">mygtukas</button>
let 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ą
});
: