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

118
Views
Div no sigue a Mouse debido a la división principal

Tengo un problema en el que el mouse no sigue el div de cerca debido al div principal izquierdo y superior. Supongamos que parent.jsx está desarrollado por otro desarrollador, y solo puedo controlar child.jsx , ¿hay alguna manera de hacer que el div siga al mouse?

Aquí está el padre jsx

 import "./styles.css"; import Child from "./child"; export default function Parent() { return ( <div style={{ top: "25px", left: "20px", position: "relative" }} > <Child /> </div> ); }

el niño jsx

 import "./styles.css"; import { useRef } from "react"; export default function Child() { const descBox = useRef(null); const handleMove = (e) => { console.log(e.clientX, e.clientY); descBox.current.style.left = `${e.clientX}px`; descBox.current.style.top = `${e.clientY}px`; }; return ( <> <div onMouseMove={handleMove} style={{ height: "300px", width: "100%", backgroundColor: "red" }} ></div> <div className="dropdown1" ref={descBox}> 123asdfsfdafffasdfasfdsajkj </div> </> ); }

El css para niño

 .dropdown1 { position: absolute; left: 150px; top: 10px; background: #2b4557; padding: 4px 8px; font-size: 12px; line-height: 18px; color: #fff; }

Codesandbox para ejecutar el código.

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

0

Como el elemento secundario está posicionado en forma absoluta dentro del elemento principal en posición relativa, puede calcular sus posiciones izquierda y superior en relación con el elemento principal y utilizarlas.

Este código agrega un pequeño desplazamiento para dar un pequeño espacio entre el cursor y el elemento secundario (que puede o no desear).

 const handleMove = (e) => { const rect = e.target.getBoundingClientRect(); const x = e.clientX - rect.left + 10; const y = e.clientY - rect.top + 10; descBox.current.style.left = `${x}px`; descBox.current.style.top = `${y}px`; };
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!