如果用户单击页面外,是否可能触发事件?更具体地说,在浏览器标题栏或标签栏中?
试试这个我的jsFiddle 示例。
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();
});
测试
首先,您单击“单击此处”按钮。所以...
- 尝试单击某些文档部分:确定
- 尝试单击某些页面部分或取消焦点浏览器窗口:好的
- 尝试在浏览器中单击其他打开的选项卡:好的
- 尝试点击浏览器标题栏或标签标题:失败
所以...
我有可能解决这个问题吗?
测试结果
- Chrome:最后失败;
- Firefox:最后失败;
- IE10:最后失败;
- Opera:最后失败;