Njia dispatchEvent

Njia dispatchEvent inaruhusu kuiga tukio kwenye kipengele. Kwa nini hii inahitajika: inaweza kiga ubofya wa mtumiaji kwenye kitufe, jaribio la kutuma fomu na kadhalika. Wakati huo tukio halitakuwa limetofautiana na la kweli kwa kitu chochote isipokuwa sifa event.isTrusted. Inaweza hata kuunda matukio yasiyo ya kawaida (majina uliyoyabuni wewe) na kisha kuyaita wakati unaofaa. Njia hutumika kwa kipengele, ambacho tukio linahitaji kuitwa. Kwenye kigezo njia hupokea tukio (kitu), kilichoundwa kwa kutumia mjenzi new Event.

Syntax

javascriptkipengele.dispatchEvent(tukio);

Mfano

Wacha tuwe na kitufe. Wakati wa kubofya hiki kitufe ujumbe unaonyeshwa. Wacha tufanye hivyo, ili wakati wa kuwekea kifaa cha kusonga juu ya kitufe kitufe hiki kifikirie kwamba kimebofya:

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

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

button.addEventListener('mouseover', function() {
  let clickEvent = new Event('click'); // unda tukio
  this.dispatchEvent(clickEvent); // iga kubofya kwenye kitufe
});

Результат:

Mfano

Inawezekana kuunda matukio yako mwenyewe (kwa jina lako mwenyewe) na kisha wakati unaofaa kuyaita. Wacha tushikane na kitufe tukio showMessage na kwa kuwekea kifaa cha kusonga na kuanzisha tukio hili:

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

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

button.addEventListener('mouseover', function() {
  let showMessageEvent = new Event('showMessage'); // unda tukio
  this.dispatchEvent(showMessageEvent); // ita kutilia kazi tukio
});

Результат: