J'essaie d'obtenir la position absolue (haut et gauche) d'un clic de souris par rapport au navigateur / corps, pas em> aucun élément parent dans le corps. J'ai un auditeur lié au corps, mais e.pagex et e.pagey me donnent la position relative à une DIV. p> Notez que je peux tirer parti des fonctions de jQuery et yui. p> code Cela ne fonctionne actuellement pas correctement: strong> p>
5 Réponses :
Le commentateur est correct. PageX et la page vous donnent la position de la souris par rapport à l'ensemble du document et non à son parent div. Mais si vous êtes intéressé, vous pouvez obtenir la position relative au document de la position par rapport à une DIV. Strong> Obtenez la position du parent div des parts par rapport au corps, puis ajoutez les deux valeurs. P> x = parentdiv.style.left + e.pageX;
y = parentdiv.style.top + e.pageY;
(0,0)
_____________________
|
|
| __________
|----100----| |
| |---60---* |
| |__________|
|
|
* = Mouse Pointer
+1 pour le diagramme amusant! Vous devriez soumettre cela à JQuery Docs
La solution, allongée à la liaison de @ mrchief de http://docs.jquerery.com/TUTTORIALS: Mouse_Position , était de se lier au document et non à l'élément de corps.
//binding the function var methods = { init: function () { $(document).click(_handleClick); } };
Selon ceci ( http://docs.jquerery.com/Tutorials:mouse_position ) , ceux-ci devraient vous donner des positions absolues. offsetx / y code> vous donne la position relative. P>
pageX code>
contient un exemple qui utilise jQuery pageX code> /
y code>. page de la méthode code> Décalage contient également des exemples pertinents. P>
@MILADNASERI: Les documents originaux sont partis (quelqu'un m'a oublié de mettre en œuvre une page 302 code>), mais regardez la modification novembre b>. Ces pages vous donneront les mêmes informations.
Merci, vérifiez-le.
Si j'ai bien compris votre question, ce serait la solution
Cela m'a aidé, vous n'ajoutez pas le décalage que vous soustrayez, merci!
Je suppose que vous pouvez utiliser window.pagexoffset code>,
window.pageyoffset code> propriété
Selon ceci ( Docs.JQuery.com/Tutorials:Mouse_Position ), celles-ci devraient vous donner absolu positions.
offsetx / y code> vous donne la position relative.
@Mrchief - Vous êtes correct, en utilisant cet exemple, j'ai réalisé que je devais lier l'événement au document et non au nœud corporel.