⊗jsPmOEUED 432 of 505 menu

Delegarea universală a evenimentelor în JavaScript

Codul prezentat în lecția anterioară este funcțional, cu toate acestea, nu este lipsit de deficiențe. Să analizăm aceste deficiențe și să scriem o soluție mai universală.

Dezavantajul codului nostru va apărea în cazul în care în interiorul li vor fi niște tag-uri imbricate. În cazul nostru, să fie tag-urile 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>

În acest caz, click-ul pe tag-ul i va duce la adăugarea semnului exclamării la sfârșitul tag-ului i, și nu a tag-ului li, așa cum am dori - la urma urmei, în event.target ajunge exact acel tag în care a avut loc evenimentul.

Problema poate fi rezolvată cu ajutorul metodei closest:

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

Repetați soluția prezentată.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge