⊗jsPmDmLHU 362 of 505 menu

Odpájanie obslužných programov udalostí v cykle v JavaScripte

Nech máme teraz nie jeden prvok, ale niekoľko. Napríklad niekoľko odsekov:

<p>text1</p> <p>text2</p> <p>text3</p>

Poďme ku každému z týchto odsekov obslužným programom kliku pripojiť funkciu func:

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', func); } function func() { console.log(this.textContent); }

Poďme teraz upraviť kód tak, aby každý odsek reagoval len na prvé stlačenie. Na to pri kliknutí na odsek odpojíme od neho pripojený obslužný program. Pritom odpájanie bude konkrétne od tohto odseku, nijak neovplyvní ostatné.

Ako už viete, prvok, v ktorom nastala udalosť, je možné získať v funkcii-obslužnom programe cez this. To znamená, že je potrebné vykonať odpájanie obslužného programu od this, takto:

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', func); } function func() { console.log(this.textContent); this.removeEventListener('click', func); // odpojíme obslužný program }

Sú dané odseky. Pri stlačení na ktorýkoľvek z odsekov pridajte na jeho koniec výkričník. Zaistite, aby toto pridanie prebehlo len po prvom stlačení.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť