w3schools eventos event javascript mouse

javascript - eventos - Mueva el puntero del mouse a una posición específica?



onclick javascript (9)

  1. Ejecute un pequeño servidor web en la máquina del cliente. Puede ser una cosa pequeña de 100 kb. Una secuencia de comandos de Python / Perl, etc.
  2. Incluya un pequeño ejecutable C precompilado que pueda mover el mouse.
  3. Ejecútelo como un script CGI a través de una simple llamada http, AJAX, lo que sea, con las coordenadas a las que desea mover el mouse, por ejemplo:

    http://localhost:9876/cgi/mousemover?x=200&y=450

PD: Para cualquier problema, hay cientos de excusas sobre por qué, y cómo, no se puede, y no se debe hacer. Pero en este universo infinito, es realmente solo una cuestión de determinación, en cuanto a si lo hará suceder.

Estoy construyendo un juego HTML5 y estoy tratando de poner el cursor del mouse sobre un cierto control en un evento específico para que moverse en una dirección específica siempre tenga el mismo resultado. es posible?


¿No podría hacerse esto simplemente obteniendo la posición real del puntero del mouse y luego calculando y compensando las acciones del mouse de sprite / scene basadas en esta compensación?

Por ejemplo, necesita que el puntero del mouse esté en el centro de la parte inferior, pero se encuentra arriba a la izquierda; esconde el cursor, usa una imagen de cursor desplazado. Cambia el movimiento del cursor y asigna la entrada del mouse para que coincida con los clics del sprite del cursor reubicado (o ''control'') Cuando se golpean los límites, se recalcula. Si / cuando el cursor llega al punto que desea, elimine la compensación.

Descargo de responsabilidad, no desarrollador de juegos.


Entonces, sé que este es un tema viejo, pero primero diré que no es posible. Lo más parecido actualmente es bloquear el mouse en una posición única y hacer un seguimiento del cambio en su x y y. Este concepto ha sido adoptado por, parece que, Chrome y Firefox. Es administrado por lo que se llama Mouse Lock , y al golpear escapar lo romperá. A partir de mi breve lectura, creo que la idea es que bloquea el mouse en una ubicación e informa eventos de movimiento similares a los eventos de hacer clic y arrastrar.

Aquí está la documentación de lanzamiento:
FireFox: https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API
Chrome: http://www.chromium.org/developers/design-documents/mouse-lock

Y aquí hay una bonita demostración: http://media.tojicode.com/q3bsp/


Gran pregunta Esto es realmente algo que falta de la API del navegador Javascript. También estoy trabajando en un juego WebGL con mi equipo, y necesitamos esta característica. Abrí un problema en la bugzilla de Firefox para poder comenzar a hablar sobre la posibilidad de tener una API para permitir el bloqueo del mouse. Esto va a ser útil para todos los desarrolladores de juegos HTML5 / WebGL.

Si lo desea, venga y deje un comentario con sus comentarios, y resuma el problema:

https://bugzilla.mozilla.org/show_bug.cgi?id=630979

¡Gracias!


Me imagino que podría lograr colocar el cursor del mouse en un área determinada de la pantalla si no usó el cursor del mouse real (sistema).

Por ejemplo, puede crear una imagen para actuar en lugar de su cursor, manejar un evento que al detectar mouseenter en su escena, establecer el estilo en el cursor del sistema a ''ninguno'' ( sceneElement.style.cursor = ''none'' ), luego mostraría un elemento oculto de la imagen que actúa como cursor para estar en cualquier lugar en la escena basado en una traducción predefinida del eje / cuadro delimitador.

De esta forma, sin importar cómo haya movido el cursor real, su método de traducción mantendrá su cursor de imagen donde lo necesite.

edit: un ejemplo en jsFiddle usando una representación de imagen y movimiento forzado del mouse


No puede mover el mousepointer con javascript.

Solo piensa en las implicaciones por un segundo, si pudieras;)

  1. El usuario piensa: "hola me gustaría hacer clic en este enlace"
  2. Javascript mueve mousecursor a otro enlace
  3. El usuario hace clic en el enlace incorrecto y sin darse cuenta descarga malware que formatea su c-drive y se come el caramelo

No puede mover el puntero del mouse mediante javascript y, por lo tanto, por razones de seguridad obvias. La mejor forma de lograr este efecto sería colocar el control debajo del puntero del mouse.


No puedes mover un mouse pero puedes bloquearlo. Nota: debe llamar a requestPointerLock en evento click.

Pequeño ejemplo:

var canvas = document.getElementById(''mycanvas''); canvas.requestPointerLock = canvas.requestPointerLock || canvas.mozRequestPointerLock || canvas.webkitRequestPointerLock; canvas.requestPointerLock();

Documentación y ejemplo de código completo:

https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API


Puede detectar la posición del puntero del mouse y luego mover la página web (con la posición del cuerpo relativa) para que pasen el cursor sobre lo que desea que hagan clic.

Por ejemplo, puede pegar este código en la página actual en la consola de su navegador (y actualizar luego)

var upvote_position = $(''#answer-12878316'').position(); $(''body'').mousemove(function (event) { $(this).css({ position: ''relative'', left: (event.pageX - upvote_position.left - 22) + ''px'', top: (event.pageY - upvote_position.top - 35) + ''px'' }); });