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étection de la position du curseur SANS le paramêtre "


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Avatar de FMaz
    Inscrit en
    Mars 2005
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 643
    Points : 640
    Points
    640
    Par défaut Détection de la position du curseur SANS le paramêtre "
    Je dois détecter la position de la souri, mais je trouve extrèment contraignant de toujours devoir passer un paramêtre que je dois passer de fonction en fonction.

    Ma fonction actuelle est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function position(e){
     
    	if (!e) var e = window.event;
     
    	if (e.pageX || e.pageY){
    		posx = e.pageX;
    		posy = e.pageY;
    	}else if (e.clientX || e.clientY){
    		posx = e.clientX + document.body.scrollLeft;
    		posy = e.clientY + document.body.scrollTop;
    	}
    }
    Mais je veux supprimer le paramêtre "e" de la fonction.
    Si je ne le passe pas, j'ai l'impression que window.event ne fait rien.

    Des solutions ?

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 143
    Points
    11 143
    Par défaut
    bonsoir,

    Firefox (entre autres) ne connait pas window.event. Dans ce cas tu dois transmettre via le paramètre e de ta fonction l'événement. Tu ne peux donc pas t'en passer.

    Par contre je crois que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!e)  var e = window.event;
    tu peux t'en passer.

    exemple (fonctionne sous IE et FF):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    <html>
    <head>
    <title></title>
     
     
    <script type="text/javascript">
    <!--
    function position(e){
        var posx, posy;
       if (!e)  var e = window.event; 
     
       if (e.pageX || e.pageY){
          posx = e.pageX;
          posy = e.pageY;
       }else if (e.clientX || e.clientY){
          posx = e.clientX + document.body.scrollLeft;
          posy = e.clientY + document.body.scrollTop;
       }
       alert(posx+" "+posy);
    }
    //-->
    </script>
     
    </head>
     
    <body>
    <div style="background-color: #A1B2C3; width: 200px;" onmouseover="position(event)">test</div>
     
    </body>
    </html>

  3. #3
    Membre confirmé
    Avatar de FMaz
    Inscrit en
    Mars 2005
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 643
    Points : 640
    Points
    640
    Par défaut
    ... jamais j'aurrais cru que FireFox me décevrais

    1) Mais que représente le "e" ?

    2) pourquoi est-ce que la position du curseur dépend de cela ?

    3) Supposons que j'ai un timer, comment ce dernier peut-il détecter la position du curseur ?

    4) Est-ce que je peux associer plusieurs onmousemove avec des fonctions telles que attachEvent ou autre ?

  4. #4
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 143
    Points
    11 143
    Par défaut
    1-2 :

    un script vaut mieux qu'un long discours : regarde les valeurs retournées par "type" et les paramètres du genre X, Y.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    <html>
    <head>
    <title>Les evenements</title>
     
     
    <script type="text/javascript">
    <!--
    function position(e){
        var posx, posy;
       if (!e)  var e = window.event;
     
       if (e.pageX || e.pageY){
          posx = e.pageX;
          posy = e.pageY;
       }else if (e.clientX || e.clientY){
          posx = e.clientX + document.body.scrollLeft;
          posy = e.clientY + document.body.scrollTop;
       }
     
       //Pour afficher le contenu de e
       var p, pp="";
       for (p in e)
       {
           pp=pp+"<br>"+p+" <span style='color:#0000FF'>"+eval("e."+p)+"</span>";
       }
       document.getElementById("id1").innerHTML="Propri&eacute;tes de l&rsquo;&eacute;v&eacute;nement<br>"+pp;
     
    }
    //-->
    </script>
     
    </head>
     
    <body>
    <div style="background-color: #A1B2C3; width: 200px;" onmouseout="position(event)" onmouseover="position(event)">test</div>
    <div id="id1"></div>
    </body>
    </html>

Discussions similaires

  1. [Débutant] Position du curseur dans une textbox sans multiline
    Par jetle dans le forum VB.NET
    Réponses: 4
    Dernier message: 27/06/2011, 23h25
  2. Détection de la position du curseur WMP
    Par MrKite dans le forum VB.NET
    Réponses: 0
    Dernier message: 05/11/2010, 16h41
  3. Réponses: 8
    Dernier message: 02/04/2008, 17h30
  4. Position du curseur
    Par gimlithedwarf dans le forum Composants VCL
    Réponses: 2
    Dernier message: 22/08/2002, 23h45
  5. Position du curseur dans Edit
    Par MrJéjé dans le forum C++Builder
    Réponses: 3
    Dernier message: 20/06/2002, 17h09

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