⊗jsPmOEUED 432 of 505 menu

Univerzalno delegiranje događaja u JavaScript-u

Kod dat u prethodnoj lekciji je funkcionalan, međutim, nije bez mana. Hajde da analiziramo te mane i napišemo univerzalnije rešenje.

Mana našeg koda će se ispoljiti u slučaju kada unutar li postoje ugniježđeni tagovi. U našem slučaju neka to budu tagovi i:

<ul> <li>item <i>italic</i> item</li> <li>item <i>italic</i> item</li> <li>item <i>italic</i> item</li> <li>item <i>italic</i> item</li> <li>item <i>italic</i> item</li> </ul>

U ovom slučaju, klik na tag i će dovesti do dodavanja uzvičnika na kraj taga i, a ne taga li, kao što bismo želeli – jer u event.target se nalazi upravo onaj tag u kojem se događaj desio.

Problem se može rešiti pomoću metode closest:

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

Ponovite dato rešenje.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij