2011-10-19 54 views
1

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

由于我使用元刷新,我不能使用window.onbeforeunload事件来防止/确认用户退出,因为元刷新会触发事件。因此,我需要手动检查鼠标是否会在我的文档之外被点击。

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

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

有人有什么想法实现这个问题吗?

在此先感谢!

回答

2

这是不可能的。事件不会在文档之外触发,包括窗口镶边上的点击。

1

我认为你需要考虑你想达到的目标。这听起来像一个摇摇欲坠的设计,如果你必须得到页面的关闭事件。如果这是一个问题,很多其他事件会影响你。

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

6

检测的关闭按钮是不可能的,但你可以,如果用户通过做失去了浏览器的焦点检测:

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