Javascript 如何关闭jQuery上下文菜单
我正在jQuery中显示一个contextmenu,但无法关闭它 以下是我正在注册的活动:Javascript 如何关闭jQuery上下文菜单,javascript,jquery,contextmenu,jquery-events,Javascript,Jquery,Contextmenu,Jquery Events,我正在jQuery中显示一个contextmenu,但无法关闭它 以下是我正在注册的活动: 函数openContextMenu(事件){ event.preventDefault(); $(“#自定义菜单”) .css({ 顶部:event.pageY+“px”, 左:event.pageX+“px” }) .show(100); isContextMenuOpen=true; } 函数closeContextMenu(事件){ 日志(“点击调用文档”); 如果(isContextMenuOpe
函数openContextMenu(事件){
event.preventDefault();
$(“#自定义菜单”)
.css({
顶部:event.pageY+“px”,
左:event.pageX+“px”
})
.show(100);
isContextMenuOpen=true;
}
函数closeContextMenu(事件){
日志(“点击调用文档”);
如果(isContextMenuOpen){
$(“自定义菜单”).hide();
log(“隐藏上下文菜单”);
}
isContextMenuOpen=false;
}
函数寄存器菜单(){
$(文件)({
上下文菜单:函数(事件){
openContextMenu(事件);
},
单击:功能(事件){
关闭上下文菜单(事件);
}
});
}
我相信您只是输入了一个错误:
closeContextMenu
中的$(“自定义菜单”)
应具有ID标识符:
$(“#自定义菜单”).hide();
此外,除非全局声明了isContextMenuOpen
,否则它的作用域将保持在openContextMenu
,因此hide
方法将永远不会执行。无论如何,您都不需要它,因为无论元素是否可见,hide
都会起作用
请尝试以下方法:
功能关闭上下文菜单(事件){
$(“#自定义菜单”).hide();
log(“隐藏上下文菜单”);
}
另外,为了插入我自己的答案,对于一些非常复杂的上下文菜单处理,请看以下内容:
你说得对,我应该使用一个ID标识符。