⊗jsPmOEUED 432 of 505 menu

უნივერსალური დელეგირება (delegation) JavaScript-ში

წინა გაკვეთილში მოყვანილი კოდი მუშაობს, თუმცა, არა ნაკლოვანებების გარეშე. მოდით განვიხილოთ ეს ნაკლოვანებები და დავწეროთ უფრო უნივერსალური გადაწყვეტა.

ჩვენი კოდის ნაკლი გამოიხატება იმ შემთხვევაში, როდესაც li-ის შიგნით იქნება რაიმე ჩადგმული ტეგები. ჩვენს შემთხვევაში მოდით ეს იყოს 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>

ამ შემთხვევაში i ტეგზე დაწკაპუნება მოგვიყვანს კითხვის ნიშნის დამატებამდე ტეგის ბოლოს i, და არა li ტეგის, როგორც ჩვენ გვსურს - ბოლოს და ბოლოს event.target-ში შედის ზუსტად ის ტეგი, რომელშიც მოხდა მოვლენა.

პრობლემის მოგვარება შესაძლებელია closest მეთოდის დახმარებით:

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

გაიმეორეთ მოყვანილი გადაწყვეტა.

ქართული
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語Қазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა