209 of 264 menu

Metoda addEventListener

Metoda addEventListener pozwala przypisać do elementu obsługę zdarzeń. Za jej pomocą można określić, na przykład, co zrobić po kliknięciu przycisku lub co zrobić podczas wpisywania tekstu w polu tekstowym. W pierwszym parametrze określamy typ zdarzenia, w drugim - funkcję, która będzie wywoływana po zdarzeniu określonym w pierwszym parametrze. W trzecim opcjonalnym parametrze przekazujemy charakterystyki obiektu (once, capture, passive) lub parametr useCapture.

Składnia

element.addEventListener('typ zdarzenia', funkcja, [charakterystyki obiektu]); lub element.addEventListener('typ zdarzenia', funkcja, [useCapture]);

Przykład

Sprawmy, aby po kliknięciu przycisku wyświetlała się wiadomość:

<input type="button" id="button" value="click me"> let button = document.querySelector('#button'); button.addEventListener('click', function() { alert('message'); });

:

Przykład

Napiszmy kod, aby po utracie fokusu w polu input wyświetlała się wiadomość z tekstem z tego pola:

<input id="input" value="text"> let input = document.querySelector('#input'); input.addEventListener('blur', function() { alert(this.value); });

:

Przykład

Sprawmy, aby po kliknięciu przycisku wiadomość wyświetlała się w konsoli tylko raz. W tym celu skorzystamy z drugiego parametru:

<input type="button" id="button" value="click me"> let button = document.querySelector('#button'); button.addEventListener('click', function() { console.log('message'); }, { once: true } );

Przykład

Parametr passive zabrania wywoływania metody event.preventDefault podczas obsługi zdarzenia. Do poprzedniego przykładu zastosujmy metodę event.preventDefault, a także określmy w parametrze passive wartość true:

<input type="button" id="button" value="click me"> let button = document.querySelector('#button'); button.addEventListener('click', function(event) { event.preventDefault(); console.log('No message'); }, { passive: true } );

Po wykonaniu kodu zobaczymy następujące komunikaty:

'No message'; 'Unable to preventDefault inside passive event listener invocation.'

Przykład

Parametr useCapture o wartości true pokazuje propagację zdarzeń od elementu wewnętrznego do zewnętrznego, przy wartości false - od zewnętrznego do wewnętrznego elementu. Podczas przekazywania parametru useCapture jego nazwa jest pomijana i zapisuje się po prostu true lub false. Zobaczmy jak propagują się zdarzenia w elemencie nadrzędnym i podrzędnym po kliknięciu na nie:

<div id="parent">Parent <p id="child">Child</p> </div> #parent{ width: 60px; padding: 10px; border: 1px solid red; text-align: center; } #child{ width: 60px; marging-right: 40px; border: 1px solid blue; text-align: center; } let parent = document.querySelector('#parent'); let child = document.querySelector('#parent'); parent.addEventListener('click', () => alert('parent'), true ); child.addEventListener('click', () => alert('child'), true );

:

Zobacz także

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ć