你好,我是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();
});
});
我的问题是右键单击时一切正常。但是当我再次右键单击时,什么也没有出现。如果我想再次出现菜单,我应该进行中间左键单击和右键单击。有人可以帮助解决这个问题吗?
提前感谢。