⊗jsPmDmLHU 362 of 505 menu

Desvinculación de manejadores de eventos en un bucle en JavaScript

Supongamos que ahora no tenemos un solo elemento, sino varios. Por ejemplo, varios párrafos:

<p>text1</p> <p>text2</p> <p>text3</p>

Vamos a asignar a cada uno de estos párrafos la función func como manejador de clics:

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', func); } function func() { console.log(this.textContent); }

Ahora modifiquemos el código para que cada párrafo solo reaccione al primer clic sobre él. Para ello, al hacer clic en un párrafo desvincularemos el manejador asignado. Esta desvinculación será específica de este párrafo, sin afectar a los demás.

Como ya sabes, el elemento en el que ocurrió el evento se puede obtener en la función manejadora a través de this. Esto significa que es necesario realizar la desvinculación del manejador de this, así:

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', func); } function func() { console.log(this.textContent); this.removeEventListener('click', func); // desvinculamos el manejador }

Se dan párrafos. Al hacer clic en cualquiera de los párrafos agregue al final del mismo un signo de exclamación. Haga que este agregado ocurra solo en el primer clic.

Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar