Déterminer la position de la souris en dehors des événements (à l'aide de jQuery)?
J'ai besoin d'obtenir une prise absolue de la position de la souris /de coordonnées (X et Y) en utilisant (de préférence) de jQuery comme dans ce tutoriel mais en dehors de tout événement JavaScript. Merci.
Vous devez vous connecter pour publier un commentaire.
Pas possible. Toutefois, vous pouvez utiliser la même approche dans le tutoriel pour stocker la position dans une variable globale et de le lire à l'extérieur de l'événement.
Comme ceci:
Vous pouvez maintenant utiliser
window.mouseXPos
etwindow.mouseYPos
à partir de n'importe où.Ce qui a commencé comme un commentaire sur Chetan Sastry réponse, mais j'ai réalisé qu'il pourrait également être intéressant de poster une réponse:
Je serais prudent sur le fait d'avoir un document de niveau, toujours en cours d'exécution
mousemove
cas, même si vous êtes seulement à l'interrogation de la position du curseur. C'est beaucoup de traitement et peuvent occuper n'importe quel navigateur, en particulier les plus lents, comme IE.Un problème comme celui-ci presque certainement soulève la question de la conception de décision: si vous n'avez pas besoin de gérer un événement de souris à un sondage à la position du curseur, avez-vous vraiment besoin de la position du curseur? Est-il une meilleure façon de résoudre le problème que vous essayez de résoudre?
Edit: même dans Safari 4, qui est (euphémisme) très rapide, que seul
mousemove
événement rend chaque interaction avec le tutoriel de la page sensiblement agitée pour moi. Pensez à comment cela va affecter les perceptions des utilisateurs de votre site ou de votre application.document.onmousemove
. Ce, pour autant que je suis concerné, est une vision à court terme de l'ES5/ES6. En effet interrogation de la position de la souris peut simplifier de rebondir onmousemove " des événements, comme lors du déplacement des éléments du DOM par la souris.Cette fonction à la diminution de l'impact sur l'INTERFACE utilisateur de la performance que de l'obtention de la position de la souris dans un intervalle de temps:
Comme dans l'autre réponse ", Vous pouvez maintenant utiliser
window.mouseXPos
etwindow.mouseYPos
à partir de n'importe où."Vous perdez un peu de précision que le déplacement de la souris, ne pas être détecté pendant les intervalles.
setTimeout(function() { getMousePosition(timeoutMilliSeconds) }, timeoutMilliseconds);
J'ai essayer @Chetan Sastry 's soulution,mais il ne fonctionne pas.(Je suis en utilisant jQuery 1.6.4). - Je changer le code et ensuite je travaille maintenant. Voici mon code. J'espère que cela aidera.