⊗jsPmOEUED 432 of 505 menu

Universele event delegatie in JavaScript

De code uit de vorige les werkt, maar heeft toch enkele tekortkomingen. Laten we deze tekortkomingen bekijken en een meer universele oplossing schrijven.

Het nadeel van onze code zal zichtbaar worden in het geval dat zich binnen de li geneste tags bevinden. In ons geval laten we dit de i tags zijn:

<ul> <li>item <i>cursief</i> item</li> <li>item <i>cursief</i> item</li> <li>item <i>cursief</i> item</li> <li>item <i>cursief</i> item</li> <li>item <i>cursief</i> item</li> </ul>

In dit geval zal een klik op de i tag leiden tot het toevoegen van een uitroepteken aan het einde van de i tag, en niet aan de li tag, zoals we zouden willen - omdat in event.target precies die tag terechtkomt waar de gebeurtenis plaatsvond.

Het probleem kan worden opgelost met de methode closest:

list.addEventListener('click', function(event) { let li = event.target.closest('li'); if (li) { li.innerHTML = li.innerHTML + '!'; } });

Herhaal de gepresenteerde oplossing.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren