Comment puis-je vérifier si la souris est sorti de la fenêtre du navigateur à l'aide de javascript/jquery?
J'ai besoin d'un moyen de le vérifier et voir si la souris est en dehors de la fenêtre du navigateur. Le problème est que l'événement mouseout (ou mousemove) n'est pas déclenché lorsque la souris se déplace RAPIDEMENT à l'extérieur de la fenêtre du navigateur (mon élément est près du bord). J'ai pensé que la meilleure façon de résoudre mon problème est de vérifier sur une minuterie si la souris est à l'intérieur de la fenêtre ou pas, mais je n'ai pas trouvé un moyen de le faire, car j'ai besoin d'un événement à feu afin d'obtenir les coordonnées de la souris.
Je suis un javascript/jquery newbie, mais il semble qu'il devrait y avoir un moyen de le faire, mais je certainement n'ai pas été capable de la trouver si loin. Peut-être que je force un événement de souris pour déclencher et de voir si il y a un xy valeur? Une idée de comment je pourrais faire?
Merci d'avance!
- Bonne question... je ne suis pas un débutant mais je n'ai jamais rencontré avant. Cela peut être utile pour moi dans les prochaines semaines, en fait. Je vais faire quelques recherches autour et voir ce que je peux trouver.
- Essayez d'utiliser
mouseleave
. Certainement, cela fonctionne comme prévu dans Firefox, et google Chrome je crois. Je n'ai pas testé IE, Opera ou Safari cependant. - Double Possible de Comment puis-je détecter lorsque la souris sort de la fenêtre?
Vous devez vous connecter pour publier un commentaire.
Semble @Joshua Mills résolu ce problème ici:
Bien qu'il n'a jamais été officiellement sélectionné comme réponse.
Vous devez vérifier la cible de l'événement pour s'assurer de la souris à gauche de la page entière.
Démonstration En Direct
JS
HTML
CSS
Le cas de test comprend un élément de nidification pour vérifier qu'il fonctionne vraiment.
Je pense, cela va ressembler à
Il devrait être assez simple:
Ou jQuery style:
Violon: http://jsfiddle.net/xjJAB/
Testé avec IE8, chrome, FF. L'événement déclenche à chaque fois pour moi au moins.
Essayer avec:
J'ai essayé l'un après l'autre et cela fonctionne réellement!
https://stackoverflow.com/a/3187524/985399
- Je me passer de vieux navigateurs, donc j'ai fait un code plus court pour fonctionner sur les navigateurs modernes IE9+:
Ici, vous voyez les prise en charge du navigateur