Rechercher : dans
Par :

[JS] Clique droit sous FF

Dernière réponse le 14 nov 2005 à 08:56:06 Erdnax, le 9 nov 2005 à 18:51:57 
 Signaler ce message aux modérateurs

Salut tout le monde,

Je recherche une méthode afin de détecter le clique droit sur un élément de ma page sous firefox.

Sous IE, pas de problème, j'ai fais un onmouseup="hop();" et après je test si event.button==2. Et j'aimerais faire quelque chose de similaire sous FF.

Et ce n'est pas pour empêcher que l'on me prenne des images ou protéger quelque chose, mais c'est vraiment utile !

Si quelqu'un à une idée... Moi chuis moi et toi chais pas...

Meilleures réponses pour « [JS] Clique droit sous FF » dans :
Plantage d'Explorer.exe après un clic droit VoirExplorer.exe se bloque lors d'un clic droit sur le Bureau Préambule Configuration à problèmes ? Résolution du problème Origine matérielle Origine logicielle Préambule Lors d'un clic-droit, par exemple sur le Bureau ou dans...
MSN - L'écriture est de droite à gauche VoirProblème Sur MSN, si l'écriture est devenue de droite à gauche et vous souhaitez la rendre de gauche à droite ! Solution Ouvre une fenêtre de conversation MSN, en haut à droite cliquer sur la flèche, puis cliquer sur édition, en bas...
Créer une disquette de boot sous XP VoirPour créer une disquette de démarrage DOS (disquette de boot) sous Windows XP : Allez dans le Poste de travail Cliquez-droit sur le lecteur de disquettes puis sélectionnez l'option "Formater". Une nouvelle option est maintenant présente...

1

crabs, le 9 nov 2005 à 20:52:07

Salut,
Un morceau de code HTML qui permet de détecter le bouton de clic sur une
image. Attention ce code laisse le menu contextuel actif :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
    "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Image dynamique</title>
<meta http-equiv="Content-Type"
    content="text/html;charset=iso-8859-1">
<script type="text/javascript">
function hop(e)
    {
    alert("HOP " + e.button );
    }
</script>
</head>
<body>
<p>
        <img src="IMAGES/crabe_off.jpeg" style="border:0;"
            alt="crabe" width="200" height="200"
            onmouseup="hop(event)">
</p>
</body>
</html>
..., I think Slackware sounds better than 'Microsoft,'
-- Patrick Volkerding - founder and maintainer of Slackware

Répondre à crabs

2

Erdnax, le 10 nov 2005 à 09:06:51
  • +1

Merci, mais en fait ce n'est pas ce que je cherche.

Il faut que le clique gauche soit actif lui, et c'est justement là qu'est mon problème.

Sous IE, pas de problème pour trouver de quel bouton il s'agit, mais sous FF etc, aïe...
Moi chuis moi et toi chais pas...

Répondre à Erdnax

3

StreM, le 10 nov 2005 à 12:22:48

Salut Erdnax !
Ca va bien ?

Tiens, essaie avec ca :

function down(e) {
// renvoi du bouton suivant navigateur
	if( !e ) {
        if( window.event ) {
            //DOM
            button = window.event;
        } else {
            //TOTAL FAILURE, WE HAVE NO WAY OF REFERENCING THE EVENT
            return;
        }
    }
    if( typeof( e.which ) == 'number' ) {
        //Netscape compatible
        button = e.which;
    } else {
        if( typeof( e.button ) == 'number' ) {
            //DOM
             button = e.button;
         } else {
             //TOTAL FAILURE, WE HAVE NO WAY OF OBTAINING THE BUTTON
            return;
         }
    }
}

la variable button est le numéro de ton bouton (droit ou gauche en fait).
Mais attention !!! Le bouton gauche sous IE =1 mais = 2 sous FF et bouton droit =2 sous IE par exemple (enfin j'en sais plus rien, a toi de voir), donc t'embrouille pas les pinceaux, et teste bien sur tous les navigateurs !

Tiens moi au courant, si tu fais un truc plus propre (c'est pas dur...)
A+ !

Moins le blanc est intelligent, plus le noir lui parait bête

Répondre à StreM

4

Erdnax, le 10 nov 2005 à 13:25:26

Hey, salut, ca va bien et toi ?

En fait j'ai pas tout compris dans ta fonction. Déjà, elle retourne quoi ?

Et ensuite, il faut simplement que ça marche sous IE et FF, c'est les deux navigateurs que j'utilise et c'est pour mon interface
d'admin, donc il n'y a que moi qui y a accès ;)

Je veux bien en faire un truc plus propre, mais quand j'aurai compris le fonctionnement :P
Moi chuis moi et toi chais pas...

Répondre à Erdnax

5

StreM, le 10 nov 2005 à 14:01:22

Aaaah ! Un peu de jugeotte, que diable !

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
<script language="javascript" type="text/javascript">
function fonction(e) {
 // renvoi du bouton suivant navigateur
 if( !e ) {
        if( window.event ) {
            //DOM
            button = window.event;
        } else {
            //TOTAL FAILURE, WE HAVE NO WAY OF REFERENCING THE EVENT
            return;
        }
    }
    if( typeof( e.which ) == 'number' ) {
        //Netscape compatible
        button = e.which;
    } else {
        if( typeof( e.button ) == 'number' ) {
            //DOM
             button = e.button;
         } else {
             //TOTAL FAILURE, WE HAVE NO WAY OF OBTAINING THE BUTTON
            return;
         }
    }
alert(button);
}
</script>
    <title></title>
  </head>
  <body onclick="fonction(event);">
  </body>
</html>

Arrange un peu pour que ca fonctionne sous IE, mais ca va pas etre dur ;-)

Sinon, ca va bien, merci !
J'en ai marre du taf, mais ca, ca change pas de d'habitude ;-)

ENCORE MIEUX :
je suis trop bon...
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
<script language="javascript" type="text/javascript">
function fonction(e) {
 // renvoi du bouton suivant navigateur
 if( !e ) {
    if( typeof( e.which ) == 'number' ) {
        //Netscape compatible
        if (e.which==3) {;
	alert('bds');}
    } 
  }

}
function fonction2() {  // pour IE
   alert('bds');
}
</script>

    <title></title>
  </head>
  <body onclick="fonction(event);" oncontextmenu="fonction2();">
  </body>
</html>


Moins le blanc est intelligent, plus le noir lui parait bête

Répondre à StreM

6

Erdnax, le 10 nov 2005 à 15:26:00

Ok, merci pour tout ça, j'ai compris l'idée, reste plus qu'à mettre en pratique :P

EDIT : c'est bon merci.

Sinon po grave, merci ;)
Moi chuis moi et toi chais pas...

Répondre à Erdnax

7

 Erdnax, le 14 nov 2005 à 08:56:06

Salut à tous,

Juste pour vous donner la solution que j'ai utilisé, vos scripts sont excellents, y a pas à dire, vous assurez... Par contre, j'ai trouvé un méthode tellement plus légère !

En fait, pour détecter le clique droit, il suffit simplement de mettre comme argument de notre élément html :

oncontextmenu="return mafonction()"

Et le tour est joué ;). La fonction renvoie un false dans le cas ou l'action réussie, et un true dans les autres cas. Et c'est tout, et ça marche du tonner ;)

Merci encore pour vos scripts, mais le html est tellement plus simple :P

@+ tous.
Moi chuis moi et toi chais pas...

Répondre à Erdnax
Collection CommentÇaMarche.net