⊗jsSpOtEH 280 of 294 menu

JavaScriptda Hodisa Qoplovchilarni Optimallashtirish

Elementlarga bog'langan haddan tashqari ko'p hodisa qoplovchilari ko'p operativ xotirani egallaydi va sahifaning sekinlashishiga olib keladi.

Keling, bir misolni ko'rib chiqaylik. Faraz qilaylik, bizda ma'lum bir ro'yxat mavjud:

<ul></ul>

Keling, ushbu ro'yxatga havolani o'zgaruvchiga olaylik:

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

Keling, endi bizning ro'yxatimizni li teglari bilan to'ldiramiz, ularga bosish hodisasi qoplovchisini bog'lab:

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); }); }

Natijada, bizda 1000 ta qoplovchi bo'ladi. Bu juda ko'p. Optimallashtirish uchun biz faqat bitta qoplovchini ul tegi bog'lab, delegatsiya dan foydalanishimiz mumkin.

Buni qilaylik. Avvalo, shunchaki ro'yxat elementlarini yaratamiz:

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

Endi esa hodisa qoplovchisini delegatsiya qilamiz:

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

O'lchami 100 bo'yicha 100 bo'lgan HTML jadval yarating. Barcha kataklar bosilganda qizil rangga bo'yaladigan qiling.

Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish