打开浏览器菜单时隐藏div

时间:2016-02-23 14:40:12

标签: javascript jquery html

我想在我的网页窗口未激活时隐藏div中的内容。我在jQuery中有tis代码:

$(window).blur(function(){
    $("#context").hide();
});

$(window).focus(function(){
    $("#context").show();
});

它工作正常,但如果打开浏览器菜单(包含新选项卡,历史...选项的菜单),上下文不会隐藏。这有什么解决方案吗?谢谢

2 个答案:

答案 0 :(得分:2)

简而言之,没有。没有用于检测与本机元素的交互的浏览器API。您最接近的是观察光标离开窗口靠近包含菜单句柄的浏览器框架部分。但是,由于每个浏览器都将此菜单放在不同的位置,因此您最终会进入UA检测,定时器和mousemove事件的定位,以使其正确。

答案 1 :(得分:1)

解决方案对我有用:

$(document).ready(function(){
  $("body").mouseleave(function(){
    $( "#context" ).hide();  
  });
});