⊗jsSpOtEH 280 of 294 menu

Optimizarea handler-elor de evenimente în JavaScript

Un număr excesiv de mare de handler-e, atașate elementelor, consumă multă memorie operativă și duc la înghețarea paginii.

Să ne uităm la un exemplu. Să presupunem că avem o listă:

<ul></ul>

Să obținem o referință la această listă într-o variabilă:

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

Să populăm acum lista noastră cu tag-uri li, atașându-le un handler pentru click:

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

În final, rezultă că avem 1000 de handler-e. Este foarte mult. Pentru optimizare putem atașa un singur handler pe tag-ul ul, folosind delegarea.

Să facem acest lucru. Pentru început, pur și simplu să creem elementele listei:

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

Și acum să efectuăm delegarea handler-ului de evenimente:

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

Creați un tabel HTML de dimensiune 100 pe 100. Faceți ca fiecare celulă să se coloreze în roșu la click.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge