Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

181
Visualizações
¿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 à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda