Est-il un moyen pour déclencher mousemove et obtenir de l'événement.pageX, de l'événement.pageY?
De sorte que, comme la question précise, il est un moyen pour déclencher un événement mousemove en jQuery qui envoie les coordonnées de la souris de l'Objet d'événement?
Pour l'instant mon code peut déclencher l'événement mousemove à l'aide de l' .déclencheur(événement) la fonction mais l'événement.pageX et de l'événement.pageY ne sont pas définis.
- Est-ce pour les tests?
- Une fois chose que vous pouvez faire est de sauvegarder les données d'événement de la dernière véritable événement mousemove, puis lorsque vous déclenchez programme de la réutiliser si aucun nouveau cas de données existe. Si réel mousemove les événements ne sont pas tiré, cela signifie que la souris ne bouge pas, eventData de la dernière véritable mousemove devrait avoir la position actuelle encore.
Vous devez vous connecter pour publier un commentaire.
Je ne crois pas-il possible d'obtenir les coordonnées de la souris sur demande par le biais de JavaScript /jQuery; toutefois, si vous liez la position globale var vous pouvez ensuite y accéder à tout moment à l'ensemble du document comme ceci:
pour un CPU moins intensive en option, vous pouvez ajouter un délai d'attente, bien que vous le commerce de la performance pour un léger retard de savoir où la souris est:
Vous devriez maintenant être en mesure d'accéder à la fenêtre.xPos et de la fenêtre.yPos à partir de n'importe où dans le document à l'aide de la solution sans avoir besoin de déclencher une fausse événement.
Vous devez définir
pageX
etpageY
directement avant le déclenchement de l'événement. Pour définir ces propriétés, faire unjQuery.Event
objet.Voir dans jsFiddle.
Je ne suis pas sûr que je comprends la question. Vous pouvez le faire:
Maintenant, chaque fois que la souris passe au-dessus
someClass
, il va enregistrer le xy cordinates. Voici la jsfiddle de le voir en action et le jquery la documentation.Vous ne pouvez pas déplacer une souris, si c'est ce que vous demandez. Mais vous pourriez l'appeler une fonction avec quel que soit le contexte et les arguments que vous voulez. E. g.:
Pense que je sais de votre problème. Vous êtes en train d'interroger la position de la souris par programmation. Peut-être que vous avez le code à quelque chose comme ceci:
Alors vous avez absolument raison. Les propriétés pageY et pageX sur l'objet de l'événement ne sera pas défini. En fait, il y a un trou beaucoup de choses dans l'objet événement qui ne sera pas là, et pas seulement
.pageY
et.pageX
. Peut être que certains bug dans jQuery. De toute façon, il suffit de ne pas la chaîne qui appellent à déclencher et déclencher l'événement $(window) à la place. Ne me demandez pas pourquoi il fonctionne bien, mais pour moi, il n':C'est le meilleur que je pouvais venir, qui n'a pas inolve vous définir des variables globales. L'événement de clic sera toujours capturer les coordonnées, de sorte que vous pouvez passer cet événement à votre mousemove.
Alors, que l'objet de l'événement sera le deuxième argument dans votre mousemove fonction; le premier étant le véritable événement mousemove ou jQuery créé l'événement.