检测外部文档的单击

时间:2011-10-19 09:41:35

标签: javascript jquery onclick meta-tags onbeforeunload

我在检测文档外部的单击事件时遇到问题,例如在浏览器的关闭按钮中没有使用onbeforeunload事件,因为我有一个处理内容的JSP页面,使用元刷新来提供状态过程演变。

由于我正在使用元刷新,因此我无法使用window.onbeforeunload事件来阻止/确认用户退出,因为元刷新会启动事件。因此,我需要手动检查是否在文档外单击鼠标。

我可以检查鼠标坐标是否在外面,因此无法将点击事件与IE8中的事件相关联。

if (window.event.clientY < 82 && window.onclick)

有人有任何想法可以解决这个问题吗?

提前致谢!

3 个答案:

答案 0 :(得分:6)

检测关闭按钮是不可能的,但您可以通过执行以下操作来检测用户是否正在失去浏览器的焦点:

$(window).blur(function() {
    alert('lost focus');
}

答案 1 :(得分:2)

这是不可能的。事件不会在文档外部触发,包括点击窗口chrome。

答案 2 :(得分:1)

我认为你需要考虑你想要实现的目标。如果您必须获取页面的关闭事件,这听起来像是一个不稳定的设计。如果这是一个令人担忧的事件,很多其他事件都会对你产生影响。

如果您有一个JSP页面通过元刷新生成并显示状态 - 关闭窗口有什么问题?这应该是您关注的问题,而不是如何检测浏览器关闭事件。