Comment obtenir la position de la souris en jQuery sans souris-événements?
Je voudrais obtenir la position actuelle de la souris mais je ne veux pas utiliser:
$(document).bind('mousemove',function(e){
$("#log").text("e.pageX: " + e.pageX + ", e.pageY: " + e.pageY);
});
parce que j'ai juste besoin d'obtenir la position et de traitement de l'information
- .pageX et .pageY peuvent être lus hors de tout événement, et pas seulement .mousemove(). Par exemple, vous voulez peut-être de savoir exactement où un utilisateur a cliqué à l'intérieur d'un particulier div: Voici un exemple où nous écouter pour un événement click à l'intérieur d'un particulier div appelé #spécial. ..... docs.jquery.com/...
- cela peut également vous aider à obtenir le pointeur de la souris les emplacements pour des sites responsive. kvcodes.com/2014/03/...
Vous devez vous connecter pour publier un commentaire.
Je ne crois pas qu'il existe un moyen de requête la position de la souris, mais vous pouvez utiliser un
mousemove
gestionnaire, à juste stocke les informations à l'écart, de sorte que vous pouvez interroger l'information stockée.Mais presque tout le code, autres que
setTimeout
code et, s'exécute en réponse à un événement, et la plupart des événements fournir la position de la souris. Ainsi, votre code qui a besoin de savoir où la souris est probablement déjà à avoir accès à l'information...$(window).load(function(e){ console.log(e.pageX,e.pageY); });
renvoie undefined pour la position de la sourisVous ne pouvez pas lire la position de la souris en jQuery sans l'aide d'un événement. Remarque tout d'abord que le
event.pageX
etevent.pageY
propriétés existe sur n'importe quel événement, de sorte que vous pouvez faire:Votre autre option est d'utiliser une fermeture à donner à l'ensemble de votre code d'accès à une variable est mise à jour par un gestionnaire mousemove:
J'ai utilisé cette méthode:
De cette façon, j'aurais toujours la distance entre le sommet enregistré en y et la distance à partir de la gauche enregistrés dans x.
En outre,
mousemove
événements ne sont pas déclenchées si vous effectuez un glisser-déposer sur la fenêtre d'un navigateur.Pour suivre les coordonnées de la souris au cours de drag'n'drop vous devez joindre gestionnaire pour
document.ondragover
de l'événement et de l'utiliser de originalEvent propriété.Exemple:
utilisation
window.event
- il contient les dernièresevent
et comme toutevent
contientpageX
,pageY
etc. Œuvres pour Chrome, Safari, IE, mais pas FF.je suis tombé sur ce, tot ce serait sympa de la partager...
que faites vous en pensez.
et boom, là, nous avons..