Команда 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,
което премахва свързани събития