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

jQuery Discussion :

[plugin Context Menu] je n'arrive pas à le faire fonctionner correctement


Sujet :

jQuery

  1. #1
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Juillet 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 37
    Points : 22
    Points
    22
    Par défaut [plugin Context Menu] je n'arrive pas à le faire fonctionner correctement
    Bonjour,

    je désirerais intégrer ce plugin a mon projet.

    Malgres la même architecture DOM je n'arrive pas à le faire fonctionner correctement.

    L'exemple fonctionne sur ce DOM :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <div id="myList">
    	<ul>
    		<li>Item 1</li>
    		<li>Item 2</li>
    		<li>Item 3</li>
    		<li>Item 4</li>
    		<li>Item 5</li>
    		<li>Item 6</li>
    	</ul>
    </div>
    Appel du plugin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $("#myList UL LI").contextMenu({
    	menu: 'myMenu'
    }, function(action, el, pos) {
    	alert(
    		'Action: ' + action + '\n\n' +
    		'Element text: ' + $(el).text() + '\n\n' + 
    		'X: ' + pos.x + '  Y: ' + pos.y + ' (relative to element)\n\n' + 
    		'X: ' + pos.docX + '  Y: ' + pos.docY+ ' (relative to document)'
    		);
    });
    Mon DOM :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <div id="browserServ" class="browserServ">
         <ul class="jqueryFileTree" style="">
               <li class="directory collapsed">dossier1</li>
               <li class="directory collapsed">dossier2</li>
               <li class="directory collapsed">dossier3</li>
               <li class="directory collapsed">dossier4</li>
          </ul>
    </div>
    Mon appel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $("#browserServ UL LI ").contextMenu({
         menu: "myMenu"
    },
    function(action, el, pos) {
         alert(
                "Action: " + action + "\n\n" +
                 "Element ID: " + $(el).attr("id") + "\n\n" +
                  "X: " + pos.x + "  Y: " + pos.y + " (relative to element)\n\n" +
                  "X: " + pos.docX + "  Y: " + pos.docY+ " (relative to document)"
                 );
    });
    Cependant, lorsque mon appel contient le UL LI, le plugin ne s'active pas mais si mon appel ne contien que l'id de ma div ( $("#browserServ).contextMenu(...); ) le plugin s'active bien mais je n'ai pas accès a l'ID de l’élément sur lequel j'ai cliqué .

    J'ai essayé d'être le plus clair possible ( même si ce post me semble pas clair du tout ! ^^ )

    merci d'avance pour votre aide.

  2. #2
    Membre averti

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 136
    Points : 412
    Points
    412
    Par défaut
    Si j'ai bien compris, lorsque tu enlèves UL LI de ton sélecteur le plugin fonctionne sauf que tu n'arrives pas à obtenir l'id de l'élément cliquer ?

    Est-ce que ton code est en ligne, pour que je puisse voir ?

    Essai avec firebug pour savoir quels sont les éléments que tu as.

    Essai de remplacer $(el).attr("id") par $(this).attr('id')

  3. #3
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Juillet 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 37
    Points : 22
    Points
    22
    Par défaut
    Désolé, je n'avais pas vu t'as réponse.

    oui c'est bien cela, et logiquement, lorsque j’enlève le UL LI, je récupère la div sur laquel j'ai cliqué ( sans grand intérêt )
    je ne peux pas le mettre en ligne pour le moment, mais si tu as un peu de temps, je peux te share mon ecran.

    j'ai eu un problème avec ce plugin, j'ai essayé cette fois de le mettre sur un UL ( ailleurs, rien a voir avec celui la ), et encore une fois , ça marche quand je le fais dans l'exemple et ça marche pas quand je l’intègres... je ne comprend pas vraiment les différences...

    Merci d'avoir pris le temps de me répondre

  4. #4
    Membre averti

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 136
    Points : 412
    Points
    412
    Par défaut
    Es ce que tu pourrai mettre en ligne les deux versions (avec UL LI et sans) comme ça je peux regarder ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Juillet 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 37
    Points : 22
    Points
    22
    Par défaut
    Bas le code avec le UL LI est un dans le premier message

    et le deuxième :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $("#uploadList").contextMenu({
          menu: "listMenu"
    },
          function(action, el, pos) {
              alert(
                  "Action: " + action + "\n\n" +
                  "Element ID: " + $(el).attr("id") + "\n\n" +
                  "X: " + pos.x + "  Y: " + pos.y + " (relative to element)\n\n" +
                  "X: " + pos.docX + "  Y: " + pos.docY+ " (relative to document)"
               );
           });
    je vois sincèrement pas de différence entre ce qu'ils proposent et ce que je met. :s

  6. #6
    Membre averti

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 136
    Points : 412
    Points
    412
    Par défaut
    Le menu s'ouvre sur le deuxième code ?

  7. #7
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Juillet 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 37
    Points : 22
    Points
    22
    Par défaut
    le menu s'ouvre pas dans le 2em cas.
    Par contre, j'arrive à ouvrir le menu si j’enlève le UL LI dans le 1er cas...
    je t'avouerais que j'y comprend plus grand chose...


    (je vais essayer d'être plus présent sur le forum aujourd'hui, merci bcp de prendre le temps de me répondre)

  8. #8
    Membre averti

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 136
    Points : 412
    Points
    412
    Par défaut
    Passe moi la page HTML que tu veux faire avec le code jQuery comme ça je jette un oeil directement

  9. #9
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Juillet 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 37
    Points : 22
    Points
    22
    Par défaut
    le problème c'est que c'est des une architecture généré en JS/PHP donc c'est pas évident de te passer le html.

    Je vois ce que je peux faire

    edit: c'est pas vraiment évident de te passer une page HTML Simple puisque je pense qu'il faut reproduire la génération du DOM. Je fais au plus vite ( dsl pour l'attente )

    Edit 2 : Plus simple en fait.
    J'aimerais juste "combiner" avec ce plugin et récupérer le fichier ou dossier sur lequel j'ai cliqué. Ça sera plus simple que de te passer un "exemple" bancal qui serai pas forcement parlant. :s

    Merci beaucoup pour les réponses.

  10. #10
    Membre averti Avatar de SPACHFR
    Profil pro
    Paaaaaa
    Inscrit en
    Février 2004
    Messages
    557
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paaaaaa

    Informations forums :
    Inscription : Février 2004
    Messages : 557
    Points : 400
    Points
    400
    Par défaut
    Salut,

    Juste en passant, je n'ai pas ta solution, mais j'utilise le plugin jstree qui intrègre également contextmenu.
    Plugin très riche en fonctionnalités compatible FF et IE6 IE7 IE8 et IE9

  11. #11
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Juillet 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 37
    Points : 22
    Points
    22
    Par défaut
    Merci pour ta réponse.

    Je testerais si je trouve pas de solution mais je t'avouerais que j'aimerais bien comprendre pourquoi j'arrive pas a faire fonctionner ce plugin :s

    je regarde si il inclu pas la réponse à mon problèmes

  12. #12
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 110
    Points : 44 908
    Points
    44 908
    Par défaut
    essaies peut être de revenir à des styles minimalistes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="browserServ" class="browserServ">
    ID et class du même nom pas franchement utile

  13. #13
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Juillet 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 37
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par NoSmoking Voir le message
    essaies peut être de revenir à des styles minimalistes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="browserServ" class="browserServ">
    ID et class du même nom pas franchement utile
    C'etait juste "temporaire" cette combinaison de class & ID ( j'ai rajouté l'id puisque dans l'exemple, il utilise un ID au lieux d'une classe ) mais après vérification ca ne change rien :s

    je creuse je creuse ... ^^

  14. #14
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Juillet 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 37
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par SPACHFR Voir le message
    Salut,

    Juste en passant, je n'ai pas ta solution, mais j'utilise le plugin jstree qui intrègre également contextmenu.
    Plugin très riche en fonctionnalités compatible FF et IE6 IE7 IE8 et IE9
    Je viens de tester votre plugin, il ne se base pas sur un système de fichier mais sur une base de données non ?

  15. #15
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 110
    Points : 44 908
    Points
    44 908
    Par défaut
    une question me taraude...
    tes UL LI ont-ils une ID comme c'est ce que tu souhaites récupérer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function(action, el, pos) {
      alert(
        "Action: " + action + "\n\n" +
        "Element ID: " + $(el).attr("id") + "\n\n" +  // <- RECUPE ID ICI
        "X: " + pos.x + "  Y: " + pos.y + " (relative to element)\n\n" +
        "X: " + pos.docX + "  Y: " + pos.docY+ " (relative to document)"
        );
    }

  16. #16
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Juillet 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 37
    Points : 22
    Points
    22
    Par défaut
    ok, j'avou la j'ai merdé... donc oui merci je récupères maintenant l'ID.

    Merci beaucoup pour ta réponse.

    Cependant, ou placer mon initialisation du menu puisque lorsque je le met dans le "showTree", il ne fonctionne qu’après avoir ouvert un dossier alors qu'il est déjà passé dedans ( normalement?! )

  17. #17
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 110
    Points : 44 908
    Points
    44 908
    Par défaut
    je dirais sur le $(document).ready à priori, mais ne connaissant pas le "showTree" et ce qu'il fait ....je m'abstiens de répondre, enfin presque!

  18. #18
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Juillet 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 37
    Points : 22
    Points
    22
    Par défaut
    Le show tree affiche le tree de dossier (c'est une méthode du plugin)

    vu que je vois le tree lors du chargement de la page, je suppose qu'il passe forcement dedans lors de l'initialisation du DOM...

Discussions similaires

  1. Je n'arrive pas a faire fonctionner WxPython
    Par MaitrePylos dans le forum wxPython
    Réponses: 2
    Dernier message: 07/09/2006, 14h25
  2. [C#] SQL - je n'arrives pas a faire ma requete
    Par Cazaux-Moutou-Philippe dans le forum Windows Forms
    Réponses: 5
    Dernier message: 06/07/2006, 14h43
  3. Je n'arrive pas à faire des boucles dans un répertoire
    Par padodanle51 dans le forum Linux
    Réponses: 4
    Dernier message: 04/05/2006, 18h04
  4. Réponses: 6
    Dernier message: 18/04/2006, 13h11
  5. [réplication]N'arrive pas à le faire marcher!!!!
    Par mohamed dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 27/03/2006, 14h29

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