228 of 264 menu

Metoda dispatchEvent

Metoda dispatchEvent pozwala symulować zdarzenie na elemencie. Po co to jest potrzebne: można symulować naciśnięcie przycisku przez użytkownika, próbę wysłania formularza i tak dalej. Jednocześnie zdarzenie nie będzie różnić się od prawdziwego niczym poza właściwością event.isTrusted. Można nawet tworzyć zdarzenia z niestandardowymi (wymyślonymi przez ciebie) nazwami, a następnie wywoływać je w odpowiednim momencie. Metoda jest stosowana do elementu, na którym trzeba wywołać zdarzenie. W parametrze metoda otrzymuje zdarzenie (obiekt), utworzone za pomocą konstruktora new Event.

Składnia

element.dispatchEvent(event);

Przykład

Załóżmy, że mamy przycisk. Po naciśnięciu tego przycisku wyświetlany jest komunikat. Sprawmy, tak, aby po najechaniu myszką na przycisk ten przycisk myślał, że został kliknięty:

<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'); // tworzymy zdarzenie this.dispatchEvent(clickEvent); // symulujemy kliknięcie na przycisk });

:

Przykład

Można tworzyć własne zdarzenia (z własną nazwą) i potem w odpowiednim momencie je wywoływać. Przywiążmy do przycisku zdarzenie showMessage i po najechaniu myszką zainicjujmy to zdarzenie:

<button id="button">przycisk</button> let button = document.querySelector('#button'); button.addEventListener('showMessage', function() { alert('message'); }); button.addEventListener('mouseover', function() { let showMessageEvent = new Event('showMessage'); // tworzymy zdarzenie this.dispatchEvent(showMessageEvent); // wywołujemy uruchomienie zdarzenia });

:

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć