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 :

Intercepté clic droit sur un élément particulier


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 58
    Par défaut Intercepté clic droit sur un élément particulier
    Bonjour

    Je cherche a déclencher un menu contextuel (Jusqu'à la pas trop de problèmes, des exemples il y en a plétore) mais sur un élément particulier.

    Je m'explique :
    Je génére un treeview et je veux avoir un menu contextuel personnel SEULEMENT sur mes éléments (sa peu être du <a> ou du <li> ou autres) ailleurs je m'en fiche.

    Avez vous une idée commun "filtrer" le clic droit. Je ne trouve pas comment identifier ma source.
    Il y aurai bien event.target et window.event.srcElement mais je n'arrive pas à les utiliser!

    Merci d'avance

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    Citation Envoyé par atar64
    Il y aurai bien event.target et window.event.srcElement mais je n'arrive pas à les utiliser!
    surtout que ces fonctions varient d'un navigateur à l'autre....
    Le mieux à faire :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <balise onmousedown="maFonction(this, event)">
    <!-- ou mieux -->
    <balise onmouseup="maFonction(this, event)">

    avec this tu transmets l'objet qui appelle la fonction, puis transmets l'objet event. Puis dans ta fonction tu peux réaliser un test avec event.button pour savoir quel bouton a été pressé.

    Si mes souvenir sont bons (à vérifier) :
    event.button == 0 > bouton gauche
    event.button == 1 > bouton du milieu (si la souris à 3 boutons) ou bouton de droite si la souris a deux boutons
    event.button == 3 > bouton de droite si la souris à 3 boutons.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 58
    Par défaut
    Parfait, c'est ce qui me manquait !

    C'est 2 le event du clic droit.

    Merci bien

  4. #4
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    heu sinon oncontextmenu ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <script type='text/javascript'>
    function mouseEvent(e){alert(e.button)}
    </script>
     
     
    </head>
     
    <body>
     
    <div onmouseup="mouseEvent(event)">bouton de souris</div>
     
    </body>
    IE retourne
    Bouton gauche = 1
    molette = 4
    Bouton droit = 2


    FFX
    Bouton gauche = 0
    molette = 1
    Bouton droit = 2
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    merci pour le rappel Spacefrog

    Peut-être faut il rajouter cette précision dans la FAQ ?

    Un simple masque sur event.button suffirait à savoir si on est sur IE ou FF sur sur quel bouton l'utilsateur a cliqué.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 58
    Par défaut
    Citation Envoyé par SpaceFrog
    ...
    IE retourne
    ...
    Bouton droit = 2
    ...

    FFX
    ...
    Bouton droit = 1
    ...
    Citation Envoyé par SpaceFrog
    heu ben oui 2 pour click droit sous IE et FFX c'est bien ce que j'ai dit ...
    Dsl c'est la fin de la journée mon cerveau me joue des tours. La question est c'est pareil sous IE et FFX?

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

Discussions similaires

  1. Clic droit sur un wxButton ?
    Par Eldered dans le forum wxWidgets
    Réponses: 3
    Dernier message: 13/07/2006, 14h22
  2. clic droit sur image
    Par iamhere dans le forum C++Builder
    Réponses: 1
    Dernier message: 15/06/2006, 15h15
  3. [MFC] clic droit sur une listbox ?
    Par julien.nasser dans le forum MFC
    Réponses: 1
    Dernier message: 07/06/2006, 14h53
  4. Clic droit sur un TTabControl
    Par FredericB dans le forum C++Builder
    Réponses: 5
    Dernier message: 04/04/2006, 19h53
  5. [C#] Clic droit sur un TreeView
    Par whilecoyote dans le forum Windows Forms
    Réponses: 5
    Dernier message: 17/03/2005, 15h03

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