⊗jsSpOtEH 280 of 294 menu

Optimalizácia obsluhy udalostí v JavaScripte

Príliš veľa obsluhy udalostí, pripojených na prvky, zjede veľa operačnej pamäte a vedie k zamrznutiu stránky.

Pozrime sa na príklad. Predpokladajme, že máme nejaký zoznam:

<ul></ul>

Získame odkaz na tento zoznam do premennej:

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

Vyplníme teraz náš zoznam značkami li, pričom na ne pripojíme obsluhu kliknutia:

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

Výsledkom je, že máme 1000 obsluh udalostí. To je veľmi veľa. Pre optimalizáciu môžeme pripojiť iba jednu obsluhu udalostí na značku ul, využitím delegovania udalostí.

Urobme to. Na začiatok jednoducho vytvorme položky zoznamu:

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

A teraz vykonajme delegovanie obsluhy udalostí:

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

Vytvorte HTML tabuľku s veľkosťou 100 na 100. Zaistite, aby sa každá bunka po kliknutí zafarbila na červenú.

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
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť