Metoda dispatchEvent

Metoda dispatchEvent lejon imitimin e një ngjarjeje në një element. Pse është e nevojshme kjo: mund të imitohet shtypja e përdoruesit në një buton, përpjekja për dërgim të një forme e kështu me radhë. Në këtë rast ngjarja nuk do të ndryshojë nga e vërteta për asgjë përveç vetisë event.isTrusted. Mund edhe të krijohen ngjarje me emra jo standardë (të shpikur nga ju) dhe më pas t'i thirrni ato në momentin e duhur. Metoda zbatohet në elementin në të cilin duhet të thirret ngjarja. Në parametër metoda merr ngjarjen (objekt), e krijuar me ndihmën e konstruktorit new Event.

Sintaksa

javascriptelement.dispatchEvent(event);

Shembull

Le të themi se kemi një buton. Kur shtypet ky buton shfaqet një mesazh. Le ta bëjmë kështu që kur miu vihet mbi butonin ky buton të mendojë se është klikuar:

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

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

button.addEventListener('mouseover', function() {
  let clickEvent = new Event('click'); // krijojmë ngjarjen
  this.dispatchEvent(clickEvent); // imitojmë klikimin në buton
});

Результат:

Shembull

Mund të krijohen ngjarjet tuaja (me emrin tuaj) dhe më pas në momentin e duhur t'i thirrni ato. Le të lidhim në buton ngjarjen showMessage dhe kur miu vihet mbi të të inicializojmë këtë ngjarje:

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

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

button.addEventListener('mouseover', function() {
  let showMessageEvent = new Event('showMessage'); // krijojmë ngjarjen
  this.dispatchEvent(showMessageEvent); // shkaktojmë aktivizimin e ngjarjes
});

Результат: