2009-06-16 5 views
1

Dans JS, comment puis-je obtenir les coordonnées de la souris à l'intérieur d'un DIV? si j'utilise event.pageX, cela ne fonctionnera que si le DIV est dans le coin supérieur gauche de la page ... sinon, je dois connaître la position de la DIV dans la page et soustraire event.pageX de cela. C'est difficile à faire quand je génère dynamiquement les DIVs car je dois garder une trace de la position de chaque DIV. Des idées?En JS, comment puis-je obtenir les coordonnées de la souris à l'intérieur d'un DIV?


Il semble que fonctionne event.layerX et event.layerY trouvent dans FF si je la DIV avec définir une position absolue. Voici un court exemple:

http://www.zangware.com/divpos.html

Mais dans IE, event.layerX/Y est pas défini dans la DIV. Des idées?

Répondre

3

Il me semble que vous avez répondu à votre propre question. Je ne connais pas de raccourcis pour trouver la position du curseur dans un div plus simple que de soustraire les coordonnées x et y de la souris à partir des coordonnées x et y du coin supérieur gauche de la div. Assurez-vous de mettre en cache l'emplacement du div lorsqu'il change pour éviter une recherche DOM à chaque fois que le curseur de la souris se déplace.

+0

Ouais, eh bien, je me demandais s'il y avait un raccourci :) – 1qazxsw2

1

Ce n'est pas trop dur. Chaque élément a une propriété offsetTop et offsetLeft. Vous pouvez l'utiliser avec la position actuelle de la souris pour déterminer la position relative.

Questions connexes