⊗jsPmOEEE 419 of 505 menu

Elemento del evento en el objeto Event en JavaScript

El objeto Event también permite obtener el elemento en el que ocurrió el evento. Este elemento está contenido en la propiedad target. ¿Por qué es necesario, si este elemento está contenido en this?

El asunto es que en realidad this siempre contiene el elemento, al cual estaba vinculado el evento, mientras que la propiedad target - el elemento en el que realmente se hizo clic. Este elemento real puede coincidir con this, o puede no coincidir.

Veamos un ejemplo. Supongamos que tenemos un div, y dentro de él un párrafo:

<div id="elem"> <p>text</p> </div>

Vinculemos el evento al div, pero hagamos clic en el párrafo. Obviamente, el clic en el párrafo representa simultáneamente un clic en el div, ya que el párrafo está contenido en nuestro div.

En el caso descrito, resultará que la propiedad target contendrá la etiqueta final, en la que ocurrió el evento - es decir, el párrafo, y no el div. Verifiquemos esto:

let elem = document.querySelector('#elem'); elem.addEventListener('click', function(event) { console.log(event.target); // mostrará nuestro párrafo console.log(this); // mostrará nuestro div });

Supongamos que tienes una lista ul con etiquetas li:

ul { padding: 30px; border: 1px solid red; } li { list-style-type: none; margin-bottom: 20px; border: 1px dashed black; } <ul id="elem"> <li>text</li> <li>text</li> <li>text</li> <li>text</li> <li>text</li> </ul>

:

Vincula a la etiqueta ul un manejador de clic. En este manejador, verifica mediante la propiedad tagName, en qué etiqueta se hizo clic. Si el clic fue en la etiqueta li - agrega al final del texto de esta etiqueta un signo de exclamación. Y si el clic fue en la etiqueta ul - muestra información sobre esto en la consola.

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