2014-05-23 37 views
0

我正在使用JQuery和Javascript开发Google Chrome扩展,当用户打开上下文菜单并且当隐藏上下文菜单时将变量设置为“false”时,我想将变量设置为“true”。如何检测上下文菜单被隐藏的时间?

当它是用下面的代码开放我能察觉:

var contextMenuOpen; 
$(document).on("contextmenu", function(e){ 
    contextMenuOpen = true; 
}); 

但我不知道我怎样才能检测是否是隐藏的。

在此先感谢并对我的英语感到抱歉。

在上下文菜单定义
+1

当contextmenu关闭时没有事件发生,我不认为有任何事情可以检查以确定它是否已经打开,所以我认为这是无法完成的。 – adeneo

+3

可能重复的[浏览器的contextmenu有关闭事件](http://stackoverflow.com/questions/12801898/is-there-a-close-event-for-the-browser-contextmenu) – TRGWII

回答

-1

您可以实现隐藏事件功能

events: { 
hide: function(opt){ 
//.. do what you need 
} 
} 

或我无处不在,你需要,你可以检查,如果上下文菜单div有“上下文菜单活跃”级

if ("#myDiv").hasClass("context-menu-active")) { 
$("#myDiv").contextMenu("hide"); 
}