Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jsSpOtEH 280 of 294 menu
◀ ▶

JavaScript'te Olay İşleyicilerin Optimizasyonu

Elementlere asılı aşırı sayıda işleyici, çok fazla RAM tüketir ve sayfanın takılmasına neden olur.

Bir örnek üzerinden inceleyelim. Diyelim ki bir listemiz var:

<ul></ul>

Bu listeye bir referansı değişkene alalım:

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

Şimdi listemizi li etiketleriyle dolduralım ve üzerlerine bir tıklama işleyicisi ekleyelim:

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

Sonuçta, 1000 tane işleyicimiz oluyor. Bu çok fazla. Optimizasyon için delegasyon'u kullanarak sadece bir tane işleyiciyi ul etiketine ekleyebiliriz.

Bunu yapalım. Önce sadece liste öğelerini oluşturalım:

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

Ve şimdi olay delegasyonunu gerçekleştirelim:

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

100'e 100 boyutunda bir HTML tablosu oluşturun. Her hücrenin tıklandığında kırmızı renge boyanmasını sağlayın.

← →
↑
Türkçe▼
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet