2011-07-05 179 views
3

嗨,我是JQuery的新手,我只想拥有一个右键的上下文菜单。我GOOGLE了它,发现示例代码JQuery右键单击上下文菜单

这是我正在使用的代码。

$(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(); 
    });   

}); 

我的问题是,当我rightclick一切工作正常。但是当我再次右击时,什么都没有出现。如果想再次出现菜单,我应该再次进行左键单击和右键单击。 任何人都可以帮助解决这个问题提前

感谢

+0

你可以给我整个页面,以便我可以运行和调试它 –

回答

相关问题