Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

298
Vistas
Cómo acceder a la lista de clases de elementos en la matriz devuelta desde event.composedPath, Javascript

Tengo una estructura como esta:

 <div className="content-container chat-on"> <div className="inner container"> <section className="some more classes> <div className="button">click here</div> </section> </div> </div>

Pero necesito que toda el área tenga un detector de eventos, el div con la clase de conversación.

Debido a que en realidad hay otro div con el mismo nombre de clase que necesita el mismo detector, había estado usando document.getElementsByClassName('chatOn') y luego usé un bucle for of en la matriz devuelta para agregar el detector de eventos. Aunque esto funcionó, de vez en cuando parece causar un efecto secundario extraño (no necesariamente relevante para la pregunta actual).

Ahora lo que estoy tratando de hacer es algo así como:

 document.addEventListener("click", (event) => { if (event.target.matches("chat-on) { // function goes here }

Pero el problema es que, cuando el usuario hace clic, el objetivo solo registra el elemento anidado más alejado, y no el que tiene el nombre de clase de chat-on. He intentado

if (event.composedPath().includes('chat-on')

Pero eso siempre sale falso. ¿Hay alguna forma de acceder a los nombres de las clases en los elementos principales del destino del evento de clic?

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda