⊗jsSpOtEH 280 of 294 menu

Otimização de manipuladores de eventos em JavaScript

Um número excessivo de manipuladores, associados aos elementos, consome muita memória RAM e leva a travamentos da página.

Vamos ver um exemplo. Suponha que temos uma determinada lista:

<ul></ul>

Vamos obter a referência para esta lista em uma variável:

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

Agora, vamos preencher nossa lista com tags li, associando a elas um manipulador de clique:

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

No final, temos 1000 manipuladores. Isso é muito. Para otimizar, podemos associar apenas um manipulador à tag ul, utilizando delegação de eventos.

Vamos fazer isso. Primeiro, vamos apenas criar os itens da lista:

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

E agora vamos realizar a delegação do manipulador de eventos:

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

Crie uma tabela HTML de tamanho 100 por 100. Faça com que cada célula fique vermelha ao ser clicada.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar