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

182
Vistas
¿Cómo hago para que los valores posicionales de mi función onMouseMove se relacionen con el div local, en lugar de con toda el área visible?

Creé una clase que representa un div al que conecté algunas funciones que se ejecutan cada vez que el usuario comienza a hacer clic y arrastrar dentro de la vista (evento onMouseMove). He usado el siguiente código para hacerlo:

 class MouseMover extends React.Component { state = { x: 0, y: 0, open: false }; handleMouseMove = e => { if (!this.state.open) { return } this.setState({ x: e.clientX, y: e.clientY }); }; started = e => { this.setState({ open: true }); }; ended = e => { this.setState({ open: false }); }; render() { return ( <div onPointerDownCapture={this.started} onPointerLeave={this.ended} onPointerUpCapture={this.ended} onMouseMove={this.handleMouseMove} className='gesture-view'> {this.state.x || this.state.y ? "The mouse is at x: " + this.state.x + ", y: " + this.state.y : "Move the mouse over this box"} </div> ); } }

La pregunta que tengo se relaciona con los valores x e y (la posición del mouse mientras se arrastra). Los valores posicionales son relativos a toda la pantalla visible. Esto significa que cuando el usuario hace clic y arrastra hacia el extremo izquierdo del div, el valor de x será 60, porque tengo un margen de 5vw a la izquierda. Me gustaría que los valores posicionales se relacionen con el div al que están conectados los eventos. Cuando el usuario hace clic y arrastra hacia la parte izquierda del div, el valor de x debe moverse hacia cero, no hacia 60.

No estoy seguro de que esta sea la información necesaria, pero podría valer la pena saber que la función de mi aplicación, que presento en el DOM, se ve así:

 function App() { return ( <div className="App"> <MouseMover /> </div> ); }

Es bastante sencillo, pero necesito solucionar el problema antes de continuar, ya que esto es solo un prototipo.

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