⊗jsPmOEUED 432 of 505 menu

Universāls notikumu deleģēšana JavaScript

Iepriekšējā nodarbībā dotais kods ir strādājošs, tomēr ne bez trūkumiem. Analizēsim šos trūkumus un uzrakstīsim universālāku risinājumu.

Mūsu koda trūkums parādīsies gadījumā, kad iekš li būs kādi ieguldie tagi. Mūsu gadījumā lai tie būs tagi 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>

Šajā gadījumā noklikšķināšana uz taga i novedīs pieskaitāmās zīmes pievienošanai taga beigās i, nevis tagam li, kā mēs vēlētos - galu galā event.target nokļūst tieši tas tags, kurā notika notikums.

Problēmu var atrisināt, izmantojot metodi closest:

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

Atkārtojiet doto risinājumu.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt