⊗jsSpOtEH 280 of 294 menu

Optimizacija rukovaoca događaja u JavaScript-u

Preveliki broj rukovaoca, dodatih na elemente, troši puno radne memorije i dovodi do zastoja stranice.

Pogledajmo na primeru. Recimo da imamo neku listu:

<ul></ul>

Hvatanje reference na ovu listu u promenljivu:

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

Popunimo sada našu listu tagovima li, dodavši im rukovaoc za klik:

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

Kao rezultat, imamo 1000 rukovaoca. To je veoma mnogo. Za optimizaciju možemo dodati samo jedan rukovalac na tag ul, koristeći delegiranje.

Hajde da to uradimo. Za početak jednostavno kreiramo stavke liste:

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

A sada primenimo delegiranje rukovaoca događaja:

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

Kreirajte HTML tabelu veličine 100 sa 100. Uredite tako da svaka ćelija po kliku postane crvene boje.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij