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

112
Views
¿Cómo puedo activar una función solo cuando solo se hace clic en divs secundarios usando la burbuja de eventos?
const handleMenu = e => { console.log(e.target); e.stopPropagation(); }

Quiero consolar el evento cuando se hace clic en un div secundario. por ejemplo:

 <div onclick={handleMenu}> <button>My orders</button> <button>Payment</button> </div>

Por lo tanto, quiero activar la función handleMenu solo cuando se hace clic en esos botones y no activarla cuando se hace clic en el área del div principal, excepto en las áreas de los botones. ¿Cómo puedo hacerlo?

y sí, estoy usando reactjs . Si hay alguna forma alternativa de hacerlo con reactjs , será más útil.

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Puedes hacerlo de la siguiente manera. Adjunte a la devolución de llamada del evento en el niño como sigue ..

 if(event.currentTarget != event.target ) return; ....

evento de destino = elemento que desencadenó el evento.

currentTarget event = elemento que tiene el detector de eventos.

about 4 years ago · Juan Pablo Isaza Report

0

En React, agregue una referencia al elemento div, verifique si el objetivo es igual a la referencia para ver si no es un evento propio

 const myRef = React.useRef(null); const handleMenu = (e) => { myRef.current!==e.target console.log(myRef.current); e.stopPropagation(); }; return ( <div ref={myRef} onClick={handleMenu}> <button>My orders</button> <button>Payment</button> </div> );
about 4 years ago · Juan Pablo Isaza Report
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!