2011-07-05 3 views
3

Salut, je suis nouveau sur JQuery et je veux juste avoir un menu contextuel avec un clic droit. Je l'ai googlé et trouvé l'exemple de codeJQuery clic droit contextmenu

Ceci est le code que j'utilise.

$(document).ready(function(){ 
    $('#rightclickarea').bind('contextmenu',function(e){ 
    var $cmenu = $(this).next(); 

    $('<div class="overlay"></div>').css({left : '0px', top : '0px',position: 'absolute', width: '100%', height: '100%', zIndex: '100' }).click(function() { 
     $(this).remove(); 
     $cmenu.hide(); 
    }).bind('contextmenu' , function(){ 
     return false;}).appendTo(document.body); 
    $(this).next().css({ left: getLeftPosition(e), top: getTopPosition(e), zIndex: '101' }).show(); 

    return false; 

    }); 

    $('.vmenu .first_li').live('click',function() { 
     if($(this).children().size() == 1) { 
      //alert($(this).children().text()); 
      $('.vmenu').hide(); 
      $('.overlay').hide(); 
     } 
    }); 

    $('.vmenu .inner_li span').live('click',function() { 
      //alert($(this).text()); 
      $('.vmenu').hide(); 
      $('.overlay').hide(); 
    }); 


    $(".first_li , .sec_li, .inner_li span").hover(function() { 
     $(this).css({backgroundColor : '#E0EDFE' , cursor : 'pointer'}); 
    if ($(this).children().size() >0) 
      $(this).find('.inner_li').hide(); 
      $(this).css({cursor : 'default'}); 
    }, 
    function() { 
     $(this).css('background-color' , '#fff'); 
     $(this).find('.inner_li').hide(); 
    });   

}); 

Mon problème est quand je clique droit tout fonctionne bien. Mais quand je clique sur le bouton droit, rien n'apparaît. Je devrais faire un clic gauche et un clic droit de nouveau si je veux que le menu apparaisse à nouveau. quelqu'un peut-il aider à résoudre ce problème

Merci à l'avance

+0

Pouvez-vous m'envoyer toute la page pour que je puisse l'exécuter et le déboguer? –

Répondre

Questions connexes