是否存在浏览器上下文菜单的关闭事件
我正在使用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);