⊗jsSpOtEH 280 of 294 menu

Optimizacija obravnavalnikov dogodkov v JavaScriptu

Preveč obravnavalnikov, dodanih na elemente, porabi veliko operativnega spomina in povzroči zastajanje strani.

Poglejmo si na primeru. Recimo, da imamo nek seznam:

<ul></ul>

Pridobimo referenco na ta seznam v spremenljivko:

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

Izpolnimo zdaj naš seznam z oznakami li in jim dodajmo obravnavalnik klika:

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

Kot rezultat imamo 1000 obravnavalnikov. To je zelo veliko. Za optimizacijo lahko dodamo samo en obravnavalnik na oznako ul, z uporabo delegiranja.

Naredimo to. Za začetek preprosto ustvarimo elemente seznama:

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

In zdaj izvedemo delegiranje obravnavalnika dogodkov:

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

Ustvarite HTML tabelo velikosti 100 na 100. Naredite tako, da se vsaka celica ob kliku obarva rdeče.

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni