我在检测文档外部的单击事件时遇到问题,例如在浏览器的关闭按钮中没有使用onbeforeunload事件,因为我有一个处理内容的JSP页面,使用元刷新来提供状态过程演变。
由于我正在使用元刷新,因此我无法使用window.onbeforeunload事件来阻止/确认用户退出,因为元刷新会启动事件。因此,我需要手动检查是否在文档外单击鼠标。
我可以检查鼠标坐标是否在外面,因此无法将点击事件与IE8中的事件相关联。
if (window.event.clientY < 82 && window.onclick)
有人有任何想法可以解决这个问题吗?
提前致谢!
答案 0 :(得分:6)
检测关闭按钮是不可能的,但您可以通过执行以下操作来检测用户是否正在失去浏览器的焦点:
$(window).blur(function() {
alert('lost focus');
}
答案 1 :(得分:2)
这是不可能的。事件不会在文档外部触发,包括点击窗口chrome。
答案 2 :(得分:1)
我认为你需要考虑你想要实现的目标。如果您必须获取页面的关闭事件,这听起来像是一个不稳定的设计。如果这是一个令人担忧的事件,很多其他事件都会对你产生影响。
如果您有一个JSP页面通过元刷新生成并显示状态 - 关闭窗口有什么问题?这应该是您关注的问题,而不是如何检测浏览器关闭事件。