Метод dispatchEvent
Метод dispatchEvent элементда воқеани таклид килиш имконини беради.
Бу нима учун керак: фойдаланувчининг тугмани босшини,
шаклни юбориш урунишини ва бошқаларни таклид килиш мумкин.
Бу ҳолда воқеа ҳеч нарсада event.isTrusted хоссиятдан ташқари
ҳақиқий воқеадан фарқ килмайди.
Ҳатто ностандарт (ўзингиз тўпиб топган) номлар билан воқеалар яратиб,
сўнгра уларни керакли пайтда чақириш мумкин. Метод воқеани чақирмоқчи бўлган элементга қўлланилади.
Параметрда метод конструктор ёрдамида яратилган воқеани (объектни) олади
new Event.
Синтаксис
элемент.dispatchEvent(event);
Мисол
Фарз қилайлик, бизда тугма бор. Ушбу тугма босилаганда хабар чиқади. Келтинг, мышкани тугма устига олиб келганида ушбу тугма ўзига клик босилгандек ҳисобласин:
<button id="button">button</button>
let button = document.querySelector('#button');
button.addEventListener('click', function() {
alert('message');
});
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('message');
});
button.addEventListener('mouseover', function() {
let showMessageEvent = new Event('showMessage'); // воқеани яратамиз
this.dispatchEvent(showMessageEvent); // воқеанинг ишлашини чақирамиз
});
: