⊗jsSpOtEH 280 of 294 menu

მოვლენების დამმუშავებლების ოპტიმიზაცია JavaScript-ში

ელემენტებზე ჩატვირთული დამმუშავებლების ზედმეტად დიდი რაოდენობა იწვევს ოპერატიული მეხსიერების დიდ მოხმარებას და გვერდის დაფრივებას.

მოდით შევხედოთ მაგალითს. დავუშვათ, გვაქვს გარკვეული სია:

<ul></ul>

მოდით მივიღოთ მითითება ამ სიაზე ცვლადში:

let ul = document.querySelector('ul');

ახლა შევავსოთ ჩვენი სია li თეგებით, და დავამატოთ მათზე დაწკაპუნების დამმუშავებელი:

for (let i = 1; i <= 1000; i++) { let li = document.createElement('li'); li.textContent = i; ul.append(li); li.addEventListener('click', function() { console.log(this.textContent); }); }

შედეგად მივიღეთ, რომ ჩვენ გვაქვს 1000 დამმუშავებელი. ეს ძალიან ბევრია. ოპტიმიზაციისთვის ჩვენ შეგვიძლია მხოლოდ ერთი დამმუშავებელი დავამატოთ ul თეგზე, გამოვიყენოთ დელეგირება.

მოდით გავაკეთოთ ეს. ჯერ უბრალოდ შევქმნათ სიის ელემენტები:

for (let i = 1; i <= 1000; i++) { let li = document.createElement('li'); li.textContent = i; ul.append(li); }

ახლა კი შევასრულოთ მოვლენების დელეგირება დამმუშავებლის მეშვეობით:

ul.addEventListener('click', function(event) { let li = event.target.closest('li'); if (li) { console.log(li.textContent); } });

შექმენით HTML ცხრილი ზომით 100 ზე 100. გახადეთ ისე, რომ თითოეული უჯრედი დაწკაპუნებისას გაწითლდეს.

ქართული
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
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა