Метад 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); // выклікаем спрацоўванне падзеі
});
: