OVH Cloud OVH Cloud

event onmousemove et souris hors cadre ???

5 réponses
Avatar
pere.noel
j'utilise l'événement "onmousemove" afin d'obtenir la position de la
souris.

mon script marche "à peu près" correctement, execepté un détail :

- quand la souris est hors fenêtre, l'événement n'est plus capté si bien
que la dernière valeur enregistrée, de la position de la souris est
"fausse".

- quand la souris est hors fenêtre je préférerais avoir comme position
de la souris : [-1,-1]

c'est plus "propre" au niveau code.


bien sûr dans mon script, je retourne cette valeur (ie. [-1,-1]) mais
ça "marche" uniquement si la souris arrive suffisamment lentement sur un
bord de la fenêtre.


donc, question, y a t'il un événement souris qui indiquerait que la
souris est - ou non - à l'intérieur de la fenêtre ???

ma petite page de test est là :
<www.yvon-thoraval.com/ToolTip/events/onmousemove.html>
--
Père Noël

5 réponses

Avatar
YD
j'utilise l'événement "onmousemove" afin d'obtenir la position de la
souris.

mon script marche "à peu près" correctement, execepté un détail :

- quand la souris est hors fenêtre, l'événement n'est plus capté si bien
que la dernière valeur enregistrée, de la position de la souris est
"fausse".

- quand la souris est hors fenêtre je préférerais avoir comme position
de la souris : [-1,-1]

c'est plus "propre" au niveau code.


Détecte donc l'évènement mouseout...

<script type='text/javascript'>
function mp(e) {
if (!e) e=window.event;
if(e.type && e.type=='mouseout') return [-1,-1];
if (e.pageX) return [e.pageX,e.pageY];
else if (e.clientX) return [e.clientX+(document.documentElement.scrolLeft ?
document.documentElement.scrollLeft :
document.body.scrollLeft),e.clientY+(document.documentElement.scrollTop ?
document.documentElement.scrollTop : document.body.scrollTop)];
else return [-1,-1];
}
function position(e) {
document.getElementById("mouse_position").innerHTML=mp(e);
}
document.onmousemove=position;
document.onmouseout=position;
</script>

--
Y.D.

Avatar
pere.noel
YD wrote:


Détecte donc l'évènement mouseout...


merci, très bonne idée, mais c'est pas mieux...
--
Père Noël

Avatar
YD
YD wrote:

Détecte donc l'évènement mouseout...


merci, très bonne idée, mais c'est pas mieux...


Question bête : as-tu testé ta page avec le script modifié
qui terminait mon article précédent ? Chez moi, ça fonctionne
avec IE6, Fx2 et Opera9...

--
Y.D.


Avatar
pere.noel
YD wrote:


Question bête : as-tu testé ta page avec le script modifié
qui terminait mon article précédent ? Chez moi, ça fonctionne
avec IE6, Fx2 et Opera9...


Ah m@&rde, non, je n'ai pas fait gaffe à votre test "e.type=='mouseout'"
belle astuce, j'apprécie )))
je corrige le tir et re-post...
--
Père Noël

Avatar
pere.noel
YD wrote:

Question bête : as-tu testé ta page avec le script modifié
qui terminait mon article précédent ?


OUI OUI avec la ligne if (e.type && e.type=='mouseout') return [-1,-1];

ça MARCHE DEUX-PECCABLES )))

merci !
--
Père Noël