⊗jsPmDmHU 361 of 505 menu

Odłączanie zdarzeń w JavaScript

W tej lekcji nauczymy się odłączać handlery zdarzeń, które wcześniej zostały podpięte przez nas do elementów. Niech dla przykładu będzie dany następujący przycisk:

<input id="button" type="submit">

Podepnijmy do tego przycisku funkcję func:

let button = document.querySelector('#button'); button.addEventListener('click', func); function func() { console.log('!!!'); }

Zróbmy teraz tak, aby handler zdarzenia uruchamiał się przy pierwszym kliknięciu, a potem odłączył się od przycisku. Do tego istnieje specjalna metoda removeEventListener. Ta metoda przyjmuje jako pierwszy parametr typ zdarzenia, a jako drugi - odnośnik do funkcji, którą trzeba odłączyć.

Z reguły oznacza to, że handler zdarzenia jest odłączany tak samo, jak był podpinany. To znaczy, jeśli podpięliśmy go w ten sposób: addEventListener('click', func), to i odłączymy z tymi samymi parametrami, w ten sposób: removeEventListener('click', func).

A zatem, rozwiążmy postawione przez nas zadanie:

let button = document.querySelector('#button'); button.addEventListener('click', func); function func() { console.log('!!!'); this.removeEventListener('click', func); }

Dany jest link i przycisk. Po naciśnięciu przycisku dodaj na końcu tekstu linku zawartość jego atrybutu href w okrągłych nawiasach. Zrób tak, aby to dodawanie odbywało się tylko przy pierwszym naciśnięciu.

Dany jest przycisk, którego wartością jest liczba 1. Zrób tak, aby po kliknięciu na ten przycisk jego wartość za każdym razem zwiększała się o jeden. Po tym, jak wartość przycisku osiągnie 10 - odłącz handler zdarzenia, aby przycisk już nie reagował na naciśnięcie.

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ć