Каманда new Event
Каманда new Event - канструктар
падзей, з дапамогай якога можна стварыць
аб'ект падзеі, а затым выклікаць гэтую падзею
з JavaScript з дапамогай метаду dispatchEvent.
Навошта гэта трэба: можна эмітаваць націск
карыстальніка на кнопку, спробу адпраўкі
формы і гэтак далей. Пры гэтым падзея не будзе
адрознівацца ад сапраўднай нічым акрамя ўласцівасці
event.isTrusted.
Можна нават ствараць падзеі з нестандартнымі
(прыдуманымі вамі) назвамі і затым выклікаць
іх у патрэбны момант.
Сінтаксіс
new 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</button>
let button = document.querySelector('#button');
button.addEventListener('showMessage', function() {
alert('message');
});
button.addEventListener('mouseover', function() {
let showMessageEvent = new Event('showMessage'); // ствараем падзею
this.dispatchEvent(showMessageEvent); // выклікаем спрацоўванне падзеі
});
:
Глядзіце таксама
-
ўласцівасць
addEventListener,
якое прывязвае падзеі -
ўласцівасць
removeEventListener,
якое адвязвае падзеі