⊗jsSpOtEH 280 of 294 menu

Įvykių apdorojimo optimizavimas JavaScript

Per daug įvykių apdorojimo funkcijų, priskirtų elementams, suvartoja daug operatyviosios atminties ir sukelia puslapio užstrigimą.

Pažiūrėkime į pavyzdį. Tarkime, kad turime tam tikrą sąrašą:

<ul></ul>

Gaukime nuorodą į šį sąrašą kintamajame:

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

Užpildykime dabar mūsų sąrašą li žymėmis, priskirdami joms paspaudimo įvykio apdorojimo funkciją:

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

Galų gale pasirodo, kad mes turime 1000 įvykio apdorojimo funkcijų. Tai yra labai daug. Optimizavimui mes galime priskirti tik vieną įvykio apdorojimo funkciją ul žymei, pasinaudojus delegavimu.

Padarykime tai. Pirmiausia tiesiog sukurkime sąrašo punktus:

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

O dabar atlikime įvykių apdorojimo funkcijos delegavimą:

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

Sukurkite HTML lentelę, kurios dydis 100 ir 100. Padarykite taip, kad kiekvienas langelis paspaudus nusidažytų raudonai.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti