Hi everyone! I'm the author of code.mu :)
I'd love to chat with my non-Russian audience. I'm looking for your feedback on the site and the translation quality. Let's chat:)
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ć