⊗jsPmOEUED 432 of 505 menu

Universaalne sündmuste delegeerimine JavaScriptis

Eelmises õppetükis toodud kood on töötav, kuid mitte ilma puudusteta. Vaatame need puudused lähemalt ja kirjutame universaalsema lahenduse.

Meie koodi puudus ilmneb juhul, kui li sees on mõningaid pesastatud tage. Meie puhul olgu need i tagid:

<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>

Sel juhul viib i tagile vajutamine hüüumärgi lisamiseni tagi lõppu i, mitte li tagile, nagu me sooviksime - sest event.target sisaldab just seda tagi, kus sündmus toimus.

Probleemi saab lahendada meetodi closest abil:

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

Korrake toodud lahendust.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu