⊗jsSpOtEH 280 of 294 menu

Optimierung von Event-Handlern in JavaScript

Eine übermäßig große Anzahl von Event-Handlern, die an Elemente gebunden sind, verbraucht viel Arbeitsspeicher und führt zu Einfrieren der Seite.

Schauen wir uns ein Beispiel an. Nehmen wir an, wir haben eine bestimmte Liste:

<ul></ul>

Holen wir uns eine Referenz auf diese Liste in einer Variable:

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

Füllen wir nun unsere Liste mit li-Tags, indem wir einen Klick-EventHandler an sie binden:

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

Am Ende haben wir so 1000 EventHandler. Das ist sehr viel. Zur Optimierung können wir nur einen einzigen Handler an das ul-Tag binden, indem wir Delegierung verwenden.

Lassen Sie uns das tun. Erstellen wir zunächst einfach die Listeneinträge:

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

Und jetzt führen wir die Delegierung des Event-Handlers durch:

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

Erstellen Sie eine HTML-Tabelle der Größe 100 mal 100. Sorgen Sie dafür, dass jede Zelle bei einem Klick rot eingefärbt wird.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικά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
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen