IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Définir la position de la souris


Sujet :

JavaScript

  1. #1
    Membre confirmé Avatar de joKED
    Profil pro
    Imposteur en chef
    Inscrit en
    Février 2006
    Messages
    337
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Imposteur en chef

    Informations forums :
    Inscription : Février 2006
    Messages : 337
    Points : 458
    Points
    458
    Par défaut Définir la position de la souris
    Bonjour à tous,

    J'aurais besoin de d'aide pour définir la position de la souris. Je m'explique:

    J'ai créer une fausse fenêtre (un tableau avec une barre de titre, croix de fermeture etc...) positionné en absolu que je déplace au gré de mon humeur sur ma page web.

    Le déplacement fonctionne lorsque l'on maintient le clik enfoncé sur la barre de titre (première ligne de mon tableau) et que l'on drag le tableau.

    Cependant, j'ai remarqué qu'en le déplaçant vivement, y'a un petit bug. Vers le bas et les cotés, pas de problème. Mais vers le haut, la souris a tendance à sortir de la barre de titre, ce qui fait que le déplacement n'est plus effectué (l'évenement onmousemove se trouve sur le tableau entier), chose somme toute totalement normale.

    Du fait de la conception assez particulière de la page, je ne peux mettre l'évenement onmousemove autre part que sur le tableau (j'avais bien pensé à la balise body, mais ça pose problème vu que le onmousemove y est déjà défini et que je n'ai pas le droit d'y toucher).

    J'ai donc pensé : Pourquoi ne pas positionner le curseur de la souris au milieu de mon tableau, comme ça, il y a moins de risque pour que la souris en sorte si je vais vite.
    Et c'est la que je vous demande comment placer le curseur de ma souris à une coordonnée définie?
    Tant va la cruche à l'eau qu'à la fin y'a plus d'eau.

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    On ne peut pas agir sur le positionnement de la souris, question de sécurité. On peut juste récupérer les coordonnées.

    Sinon tu peux essayer de faire un setTimeout sur le onmouseout pour que ça laisse du temps à la fenêtre de se déplacer même quand la souris en sort quelques millisecondes.

  3. #3
    Membre confirmé Avatar de joKED
    Profil pro
    Imposteur en chef
    Inscrit en
    Février 2006
    Messages
    337
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Imposteur en chef

    Informations forums :
    Inscription : Février 2006
    Messages : 337
    Points : 458
    Points
    458
    Par défaut
    Argh, c'est bien dommage pour la souris.

    Par contre, cette idée est intéressante. Je vais la tester de ce pas, puis je reviens en donner des nouvelles.

    Edit : En utilisant cette méthode avec un intervalle trop grand,le déplacement devient haché, et si trop court, il ne change rien...
    Par contre, je crois avoir la solution. Puissque la souris ne peux pas aller au centre du tableau, le centre du tableau viendra à elle! Je m'en vais essayer ça de suite...
    Tant va la cruche à l'eau qu'à la fin y'a plus d'eau.

  4. #4
    Membre confirmé Avatar de joKED
    Profil pro
    Imposteur en chef
    Inscrit en
    Février 2006
    Messages
    337
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Imposteur en chef

    Informations forums :
    Inscription : Février 2006
    Messages : 337
    Points : 458
    Points
    458
    Par défaut
    Euh, je crois que j'avais mal lu.
    Tu parles du onmouseout? Est ce un lapsus ?

    Si ce n'est pas le cas, celui ci n'est pas géré dans mon cas, donc ça ne change rien d'y mettre un setTimeout?!?
    Tant va la cruche à l'eau qu'à la fin y'a plus d'eau.

  5. #5
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Ce n'est pas une erreur de ma part, ton déplacement s'arrête bien lorsque ta souris sort de l'élément en question non ? Donc si on lui dit de "temporiser" la sortie ça devrait résoudre le problème ..

    Après je ne sais pas comment est fait ton code et peut-être qu'il s'avérerait plus judicieux de le mettre dans le onmousemove.

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par Bisûnûrs
    ton déplacement s'arrête bien lorsque ta souris sort de l'élément en question non ?
    Pour un drag, c'est plutôt onMouseUp, non ?

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  7. #7
    Membre confirmé Avatar de joKED
    Profil pro
    Imposteur en chef
    Inscrit en
    Février 2006
    Messages
    337
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Imposteur en chef

    Informations forums :
    Inscription : Février 2006
    Messages : 337
    Points : 458
    Points
    458
    Par défaut
    Citation Envoyé par E.Bzz
    Pour un drag, c'est plutôt onMouseUp, non ?

    A+
    C'est effectivement le cas sur le onmouseup, c'est la fin du drag.

    Mais dans ce cas précis, le onmousemove n'est plus executé puissque la souris sort de la zone d'événement. Et c'est bien la le problème principal.

    Citation Envoyé par Bisûnûrs
    Ce n'est pas une erreur de ma part, ton déplacement s'arrête bien lorsque ta souris sort de l'élément en question non ? Donc si on lui dit de "temporiser" la sortie ça devrait résoudre le problème ..
    Pour répondre à ta question, je dirais oui, car cf raison évoquéé ci dessus. Mais lors du onmouseout, je ne fais rien. Donc je ne vois pas dans quelle mesure mettre une temporisation sur le onmouseout pourrait résoudre mon problème. Je vais quand même essayer, mais sauf ton respect, je doute que ça change grand chose.
    Tant va la cruche à l'eau qu'à la fin y'a plus d'eau.

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2
    Points : 4
    Points
    4
    Par défaut
    Bonsoir,

    Pourquoi ne pourrais-tu pas ajouter dynamiquement un évènement onmousemove supplémentaire sur la page entière?

    En uitlisant des méthodes comme attachEvent (ie) et addEventListener, tu peux faire "cohabiter" proprement plusieurs gestionnaire sur un même évènement sur un même objet.

  9. #9
    Membre confirmé Avatar de joKED
    Profil pro
    Imposteur en chef
    Inscrit en
    Février 2006
    Messages
    337
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Imposteur en chef

    Informations forums :
    Inscription : Février 2006
    Messages : 337
    Points : 458
    Points
    458
    Par défaut
    Bon.

    Ben finalement j'ai résolu le problème, grâce à votre aide à tous.

    Reprenos le problème : J'ai un tableau à déplacer. Sa zone de déplacement est limitée à une place bien précise, à savoir une iframe de ma page. Donc, je ne peux pas compter sur les événements du body de ma page principale, puissqu'ils ne sont pas levés lorsque je suis sur ma iframe. Mais le tableau fais quand même partie de ma page principale.

    Ce que j'ai fais :
    - sur le onmousedwon de mon tableau, je marque le tableau comme déplaçable.
    - sur le onmousemove, je le déplace.
    - sur le onmouseup, j'arrête le déplacement.

    Le souci, c'est que lorsque je vais trop vite, ma souris sors du tableau, donc le onmousemove n'est plus executé.

    La solution : sur le onmouseout de mon tableau, si le tableau est déplaçable, je le déplace. Du coup tout fonctionne correctement, sans toucher à la balise body de ma page comme spécifié dans le cahier des charges.

    En tout cas, merci de vosaide conjointes. Ce sujet est maintenant résolu!
    Tant va la cruche à l'eau qu'à la fin y'a plus d'eau.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. nom d'un controle et position de la souris
    Par manu80000 dans le forum Langage
    Réponses: 1
    Dernier message: 12/01/2006, 16h12
  2. [C#]Drag & Drop, problème de position de la souris
    Par debug dans le forum Windows Forms
    Réponses: 2
    Dernier message: 07/10/2005, 13h06
  3. Position de la souris
    Par abcd dans le forum Langage
    Réponses: 10
    Dernier message: 31/03/2005, 18h09
  4. Déterminer la position de la souris
    Par genteur slayer dans le forum Composants VCL
    Réponses: 6
    Dernier message: 16/06/2003, 11h01
  5. FOnction api specifiant la position de la souris
    Par florent dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/05/2002, 20h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo