⊗jsSpOtEH 280 of 294 menu

Optimering van Gebeurtenishanteerders in JavaScript

Buitensporig baie hanteerders, wat op elemente geplaas is, vreet baie geheue en lei tot bladsy-hang.

Kom ons kyk na 'n voorbeeld. Gestel ons het 'n sekere lys:

<ul></ul>

Laat ons 'n verwysing na hierdie lys kry in 'n veranderlike:

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

Laat ons nou ons lys vul met li-etikette, deur op elk 'n kliekhanteerder te plaas:

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

Uiteindelik het ons 1000 hanteerders. Dit is baie. Vir optimalisering kan ons net een hanteerder plaas op die ul-etiket, deur gebruik te maak van delegasie.

Kom ons doen dit. Om mee te begin, skep ons eenvoudig die lysitems:

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

Laat ons nou gebeurtenishanteerder-delegasie implementeer:

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

Skep 'n HTML-tabel met grootte 100 met 100. Maak dit so dat elke sel rooi kleur wanneer daarop gekliek word.

Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp