我正在使用 jQuery 捕捉 contextmenu
事件:
$(document.body).on("contextmenu", function(e){
//do stuff here
});
到目前为止,还不错。现在我想在它关闭时执行一些代码,但我似乎找不到正确的解决方案。
使用像下面这样的东西会捕捉到一些情况,但不是几乎所有情况:
$(document.body).on("contextmenu click", function(e){});
在以下情况下不会执行:
- 浏览器失去焦点
- 选择上下文菜单中的一个选项
- 用户点击浏览器中页面以外的任何地方
注意:我没有使用 jQuery 上下文菜单,我只是用它来捕捉事件。
最佳答案
以下代码可能对您有所帮助。 jsfiddle
var isIntextMenuOpen ;
$(document).on("contextmenu", function(e){
isIntextMenuOpen = true;
});
function hideContextmenu(e){
if(isIntextMenuOpen ){
console.log("contextmenu closed ");
}
isIntextMenuOpen = false;
}
$(window).blur(hideContextmenu);
$(document).click(hideContextmenu);
关于javascript - 浏览器上下文菜单是否有关闭事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12801898/