⊗jsPmOEED 431 of 505 menu

Delegování událostí v JavaScriptu

V předchozí lekci byl popsán problém, vznikající při přidávání nových prvků, a uvedeno jeho řešení. V této lekci prozkoumáme vhodnější způsob, jak se problému vyhnout - delegování událostí. Pojďme si jej rozebrat.

Jak již víte, kliknutím na li zároveň klikáme i na ul. To je možné díky propagaci událostí. Můžeme to využít k řešení našeho úkolu: připojíme událost ne na každou li, ale na jejich rodiče ul:

list.addEventListener('click', function() { });

Nyní v obslužné rutině události this bude ukazovat na prvek, ke kterému je připojen obslužný kód, a event.target - na prvek, ve kterém došlo k události:

list.addEventListener('click', function(event) { console.log(this); // náš seznam console.log(event.target); // položka seznamu });

Udělejme to, aby li, na které došlo ke kliknutí, přidala na konec vykřičník znak:

list.addEventListener('click', function(event) { event.target.textContent = event.target.textContent + '!'; });

Zopakujte uvedené řešení. Přesvědčte se, že nové li budou také reagovat na kliknutí.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout