227 of 264 menu

Команда 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,
    което премахва свързани събития
Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне