Question

Je crée un plugin de menu contextuel (clic droit) pour jQuery, et cela fonctionne très bien pour le premier niveau.Mais j'en ai besoin pour avoir des niveaux infinis.J'ai déjà la récursion vers le bas, mais je pense que c'est un problème avec l'affichage / le masquage.Voici mon code, pour l'instant: http://jsfiddle.net/H7GqA/4/ (Désolépour le code désordonné, le plugin est pour moi).L'élément de deuxième niveau n'apparaît jamais et je ne suis pas sûr de ce que je fais de mal.

Merci d'avance - Tanner.

Était-ce utile?

La solution

Vous avez display:none sur les éléments .submenu et vous ne faites rien pour les afficher.

Si vous voulez qu'ils soient toujours actifs, ajoutez la règle suivante

#ContextMenu .submenu {
    display:block;
}

si vous voulez le faire en survolant leur parent, faites

pour les navigateurs modernes

#ContextMenu .item:hover > .submenu {
    display:block;
}

Je vois que vous avez ce code

    cm.find(".item:has(.submenu)").hover(function(){
        //$(this).find("ul").css('display', 'block');
        //alert('blabla_1');
        $(this).css('background-color', 'red');
    });

cela devrait fonctionner ( si vous décommentez la première ligne ) et déplacez ce code dans la fonction doMain.Parce que là où vous l'avez actuellement, l'élément #ContextMenu n'existe pas encore .. donc la liaison ne se produit pas ..

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top