Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

297
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!