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 :

pb avec un menu sur le clic droit


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2004
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 2
    Points : 1
    Points
    1
    Par défaut pb avec un menu sur le clic droit
    Bonjour a tous

    je suis en train de reprendre un vieux site.
    j'ai ce code ci dessus qui est disponible de n'importe quelle page du site.
    avec IE quand je fais un clic droit j'ai bien le menu qui s'affiche puis quand je clique sur Accueil je reviens bien a la page index.php
    mais avec FireFox, il y a un petit pb, le menu s'affiche bien mais quand je clique sur Accueil rien ne se passe

    est ce que qq1 a une idée à ce pb ?

    merci d'avance


    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    <div id="menu" style="display:none; position:absolute; border:outset 2px whitesmoke; background-color:whitesmoke;padding: 5px;font-family:verdana;font-size:11px;" onClick="jumpto();">
    		 <div class="menuitems" url="index.php">Accueil</div>
    </div>
     
    <script type="text/javascript">
     function jumpto() 
    {
     if (event.srcElement.className == "menuitems") 
        {
         if (event.srcElement.getAttribute("target") != null)
             window.open(event.srcElement.url, event.srcElement.getAttribute("target"));
         else
             window.location = event.srcElement.url;
        }
    }  
     
    function on(e){
    m=document.getElementById("menu").style;
     
    var mouseY =(document.all)? window.event.x:e.screenX; 
    var mouseX =(document.all)? window.event.y:e.screenY-150; 
     
    if(e){
       if(e.which>1){
          m.display="block";
          m.top=mouseX+"px";
          m.left=mouseY+"px"
          return false;
       }
       else{
          m.display="none";
       };
    }
    else {
       if(m.display=="block" && event.type=="click"){
          m.display="none";
       }
       else if(event.type!="click"){      
          m.display="block"
          m.top=mouseX+"px";
          m.left=mouseY+"px"
     
       };
       return false
    }
     
    }
     
    document.onclick=on;
    document.oncontextmenu=on;
     
    </script>

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    bonjour,

    ta fonction jumpto n'est pas adaptée pour Firefox : il ne connait pas "event".
    De plus url n'est pas un attribut d'un div, tu ne peux donc pas y accèder.

    Je ferai plutôt ceci (pour IE et FF).

    Code javascript : 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
    40
    41
    42
     
    <script type="text/javascript">
     function jumpto(url) 
    {
        window.open(url, "pop-up");
    }  
     
    function on(e){
    m=document.getElementById("menu").style;
     
    var mouseY =(document.all)? window.event.x:e.screenX; 
    var mouseX =(document.all)? window.event.y:e.screenY-150; 
     
    if(e){
       if(e.which>1)
      {
          m.display="block";
          m.top=mouseX+"px";
          m.left=mouseY+"px";
          return false;
       }
       else
      {
          m.display="none";
       }
    }
    else {
       if(m.display=="block" && event.type=="click")
      {
          m.display="none";
       }
       else if(event.type!="click")
      {      
          m.display="block";
          m.top=mouseX+"px";
          m.left=mouseY+"px";
     
       }
       return false;
    }
     
    }

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <div id="menu" style="display:none; position:absolute; border:outset 2px whitesmoke; background-color:whitesmoke;padding: 5px;font-family:verdana;font-size:11px;">
    		 <div class="menuitems" onclick="jumpto('index.php')">Accueil</div>
    </div>

    et dans la balise body rajoute ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <body oncontexmenu="on(event)">
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    document.onclick=on;
    document.oncontextmenu=on;

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2004
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    merci pour la réponse
    je test dès que possible puis flag a résolu

Discussions similaires

  1. [VBA-W2007]Menu personnalisé sur le clic droit
    Par tazamorte dans le forum VBA Word
    Réponses: 3
    Dernier message: 15/06/2007, 11h23
  2. Menu contextuel empêcher clic droit sur Input
    Par lodan dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 14/06/2007, 18h25
  3. Désactiver le menu windows sur un clic droit onContextMenu
    Par guidav dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 03/12/2006, 21h17
  4. Réponses: 2
    Dernier message: 23/01/2006, 19h56
  5. Est t il possible d'avoir un menu sur un clic droit ???
    Par almisuifre dans le forum C++Builder
    Réponses: 6
    Dernier message: 21/12/2004, 11h21

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