Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 2012
-
1 mars 2007 à 16:28
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 2012
-
8 mars 2007 à 23:41
Salut, est-ce qu'il y a un moyen en javascript de connaitre à tout moment la position de la souris et l'état des boutons sans passer par les évènements ??
Zobibol
Messages postés469Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention20 février 20176 2 mars 2007 à 12:12
Salutation,
le pense que le terme de bouton doit s'appliquer à la souris ( onmousedown, onmouseup )
après le onmousemouse pour la souris mais les evenements sont donc inévitables !
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 2 mars 2007 à 11:14
Bonjour,
pourquoi ne pas passer par les évênements ?
en javascript, l'evênement onmousemove détecte le déplacement
de la souris. à ce moment là, on sait où elle est.
>>état des boutons
c'est à dire ? quels boutons ?
car si on cause ou le fait de cliquer
dessus ne fait que déclencher l'action associée ( javascript )
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 2 mars 2007 à 16:05
Merci pour vos réponses.
Bultez, bien sûr que ça peut être utile dans d'autres langages.. là je vais me débrouiller avec le onmousemove :p
En ce qui concerne l'état des boutons, je parle bien évidemment des boutons de la souris. J'ai une interface wpfe en xaml et le onmouseup du canvas n'est pas toujours appelé et ça me pose des problèmes pour libérer la souris si je l'ai capturé dans le onmousedown. Je vais essayer de régler ça avec les évènements du container du contrôle wpfe.
KadRik
Messages postés2Date d'inscriptionmercredi 7 décembre 2005StatutMembreDernière intervention 8 mars 2007 8 mars 2007 à 12:42
Ah... Ce qui pourrait être utile dans d'autres langages ne le serait plus en JavaScript... Est-ce à dire qu'en JavaScript il n'y a pas de position du curseur sans évènement ? (merci à Bultez d'y réfléchir). Et est-ce utile de répondre, à quelqu'un qui demande comment faire quelquechose, si ce qu'il demande est utile ? (tant qu'on ne voit pas, Bultez, il faut continuer de regarder, et du moins ne rien dire - tant mieux si tu n'a jamais eu à te poser la question, quelque part. Mais dans ce cas...). Bref. On a l'habitude de ce genre de perte de temps.
En effet, Lutinore, cette question se pose. Je n'ai pas trouvé la réponse attendue. Mais OUI, il existe un moyen de capturer A TOUT MOMENT (tout en passant certes quand-même par l'évènement, mais pas de la façon dont on s'y attendrait). Note tout de même que je ne développe que sous IE (je ne sais pas ce que ça donne avec un autre navigateur). En fait, cette capture automatique et permanente se fait vie une règle de style. Peu importe à quel élément l'on applique cette règle, mais elle dit, par exemple :
IMG.maClasse {
position : absolute;
top: expression( ma_fonction() )
}
on notera qu'il n'est pas indispensable de déclarer aussi { left : expression(autre_fonction()) }. Ca ferait peut-être trop travailler le navigateur. Mais ma_fonction() peut contenir le reste du script à exécuter. Ce qui compte, c'est qu'elle permet l'appel permanent et automatique à la position de la souris (certes... via event, car hélas je n'ai pas trouvé comment faire sans l'objet event).
Commentaire : l'utilisation de try est du au fait qu'il n'y a pas toujours d'évènement. Cela permet d'éviter tout bug, tout en garantissant la capture en permanence. Et loin de signifier qu'il n'y a pas de position du curseur sans evènement, cela signifie simplement que le DHTML a manifestement ses limites et contraintes.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 8 mars 2007 à 14:03
quel galimatia et ramassis de n'importe quoi...
>> Ce qui pourrait être utile dans d'autres langages ne le serait plus en JavaScript..
c'est exactement le contraire !!!! dans certains langages les evênements du style
onmousemove n'existent pas, et il faut bien y palier. en javascript il y a ce
qu'il faut. Pourquoi vouloir éviter un évênement qui répond parfaitement
à la question, au problème à résoudre ???!!!???
>>Je n'ai pas trouvé la réponse attendue. Mais OUI, il existe un moyen de
capturer
>>A TOUT MOMENT (tout en passant certes quand-même par
l'évènement...
?!???!!!! comment qualifier cette réponse, qui se contredit elle-même ????
qui ne répond pas à la question posée, et qui ne fonctionne pas ????
>>tant mieux si tu n'a jamais eu à te poser la question
euh... on pose une question à la communauté,
et ma réponse fut la même que les autres intervenants, certes, formulée autrement.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 8 mars 2007 à 14:10
j'ajouterais que si je posais cette question ( pourquoi vouloir ne pas uttiliser
le onmousemove ) c'est que peut-être, dans un cas particulier, cela pouvait
ne pas convenir, et qu'en expliquant le problème, les intervenants auraient,
sans aucun doute, trouver une réponse, une alternative....
KadRik
Messages postés2Date d'inscriptionmercredi 7 décembre 2005StatutMembreDernière intervention 8 mars 2007 8 mars 2007 à 22:25
C'est sympa de chercher des alternatives. Mais comprend bien que là on cherche une alternative à l'utilisation des onmachinchose. Je dois peut-être préciser que c'est la version 6 (d'IE, comme indiqué) que j'utilise, puisque ça marche sur mon poste.Et l'utilité de cette méthode, c'est par exemple qu'elle m'évite de recourir à un "onmousedown fonction_initialisant_élémentZ", ainsi qu'à un attribut pour BODY du genre "onmouseover fonction_déplaçant_élémentZ". Ceci, surtout lorsque je veux limiter le nombre de changemants en dynamique -selon les besoin du moment-, de la fonction appelée par document.body.onmousedown (et assurer en plus, lorsque c'est nécessaire une fois le processus x ou y périmé, le retour à l'ancien onmousedown écrasé), ou encore ne pas avoir à ce que chaque "onmousedown = fonction_x ou fonction_y" doive gérer aussi, selon que c'est nécessaire ou pas, l'élément Z ou autre. Voilà pourquoi je décharge, tant que possible, une partie de cette gestion-là sur l'appel de Javascript via le CSS. Ca me simplifie bien des choses, à la fois dans le code HTML, et dans le JavaScript lui-même.
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 8 mars 2007 à 23:41
Merci pour cette solution alternative KadRik à vrai dire je ne l'ai pas testé je suis passé à un autre projet. Une petite classe Cursor ou Mouse ça aurait été pratique quand même : )