如果用户单击外部页面,是否可能触发事件?更具体地说,在浏览器标题栏或标签栏?单击外部页面上的触发事件
试试这个我的jsFiddle example。
HTML
<div id="box">
<div id="menu">Click here</div>
<div id="show">Hello!</div>
</div>
JS
jQuery('div#menu').on('click', function(ev) {
jQuery('div#show').addClass('visible').css({
top: ev.clientY,
left: ev.clientX
});
return false;
});
jQuery(document).click(function() {
jQuery('div#show').removeClass('visible');
});
jQuery(window).blur(function() {
jQuery(document).click();
});
试验
首先,你点击 “点击这里” 按钮。所以......
- 尝试在一些文件部分点击:好
- 尝试在一些页面部分或无焦点的浏览器窗口中点击:好的
- 尝试在浏览器中的一些其他打开的选项卡点击:好吧
- 尝试在浏览器标题栏或分页标题点击:失败
SO ...
我可以解决这个问题吗?
测试结果
- 铬:失败在最后;
- Firefox:最后失败;
- IE10:最后一次失败;
- Opera:最后失败;
这是不可能的。 – 2013-03-02 06:30:49
您的jsFiddle在Chrome 48中运行。单击当前选项卡不会关闭菜单,但单击Chrome中的另一个选项卡或单击Chrome窗口外部的按钮会关闭菜单。 – 2016-02-12 14:35:39