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 :

Souris en dehors de la fenêtre / navigateur / document


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Points : 109
    Points
    109
    Par défaut Souris en dehors de la fenêtre / navigateur / document
    Bonjour a tous !

    Nouvelle question : j'aimerais savoir lorsque la souris de l'utilisateur quitte mon site.
    En effet, j'ai une fonction d'affichage qui dépend de la position de la souris dans le site, et lorsque celle ci ne l'est plus, j'aimerais mettre la position de la souris à une certaine valeur plus propre que la dernière position connue (genre -99, -99).

    L'évènement onmouseout ne fonctionne pas, que ce soit sur mon window, document, ou encore body (qui occupe toute la fenêtre).

    Une autre solution a me proposer?

    Merci

  2. #2
    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
    Bonjour,
    Citation Envoyé par themoye Voir le message
    j'aimerais mettre la position de la souris à une certaine valeur plus propre que la dernière position connue
    dis autrement : tu veux empêcher la souris de quitter ta page, c'est ça ?

    A+

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Points : 109
    Points
    109
    Par défaut
    Yop E.Bzz !

    Non non ^^
    Simplement changer la valeur des variables contenant les coordonnées de sa position lorsqu'elle est en dehors de mon site.
    Éviter que sa dernière position n'influence la manière dont mon javascript s’exécute.

    Concrètement, j'ai des particules qui se baladent en arrière plan, et la souris interagi avec elles.
    Si la souris est en dehors de ma page, j'aimerais que cette interaction s'arrête.

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Détecter que la souris sors de ta page, ce n'est pas possible. La seule astuce qui me vient serait de faire ça sur le onblur de la page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    window.onblur = function(){
        // Ton traitement
    }

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Points : 109
    Points
    109
    Par défaut
    Salut Bovino, merci pour ta réponse.

    Ton astuce marche, mais malheureusement pas à chaque fois.
    En effet, pour perdre le focus, ben faut déjà l'avoir

    C'est très parlant sur mon dual screen :

    _Je sors de mon site, et clique sur une autre fenêtre => perte de focus => coordonnées retournées (-99,-99)
    _Je rentre a nouveau dans mon site (sans cliquer) => pas de reprise de focus => coordonnées retournées (mouse_x, mouse_y)
    _Je ressors et clique => pas de perte de focus puisque je ne l'ai jamais récupéré => coordonnées retournées (dernier mouse_x connu, dernier mouse_y connu).

    Hum, c'est bien embêtant que l'on ne puisse pas savoir lorsque la souris n'est plus sur le document

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onmouseout="alert('quitté')">
    m'a l'air d'être exploitable ça ...

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Points : 109
    Points
    109
    Par défaut
    Youp SpaceFrog!

    J'ai deja essayé, ça ne fonctionne pas.
    Au mieux la souris n'est jamais détectée comme "en dehors" de body, au pire elle est détectée en dehors des que je survole une div de mon body.

  8. #8
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par themoye Voir le message
    En effet, pour perdre le focus, ben faut déjà l'avoir
    Il suffit d'associer le focus au survol je pense :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.onmouseover = function(){self.focus();};

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Points : 109
    Points
    109
    Par défaut
    Bonjour !

    Oui...Mais je ne pense pas que ce soit très agréable pour l'utilisateur de perdre le focus sur sa fenêtre courante dès qu'il passe par mégarde sur le corps de mon site ^^

    Tant pis, je vais me contenter de ça !
    Je pourrais aussi détecter un temps d'inactivité de la souris, et en conclure qu'elle n'est plus dans le navigateur, qu'en pensez vous?

Discussions similaires

  1. Evènements en dehors de la fenêtre
    Par tetraf dans le forum SDL
    Réponses: 3
    Dernier message: 13/01/2008, 13h13
  2. Controle souris pour faire apparaitre une fenêtre
    Par argon dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 27/07/2007, 11h58
  3. Réponses: 2
    Dernier message: 14/04/2007, 12h33
  4. Capturer les event de ma souris en dehors de mon appl
    Par bpy1401 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 28/07/2005, 16h59
  5. Gestion d'un timer en dehors d'une fenêtre
    Par eag35 dans le forum MFC
    Réponses: 3
    Dernier message: 04/07/2005, 14h25

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