2011-10-19 79 views
1

我在檢測文檔外部的點擊事件時遇到問題,例如在瀏覽器的關閉按鈕中沒有使用onbeforeunload事件,因爲我有一個正在處理內容的JSP頁面,使用元刷新給出過程演變的狀態。檢測文檔外部的點擊

由於我使用元刷新,我不能使用window.onbeforeunload事件來防止/確認用戶退出,因爲元刷新會觸發事件。因此,我需要手動檢查鼠標是否會在我的文檔之外被點擊。

我可以檢查鼠標座標是否在外面,因此不能將點擊事件與IE8中的點擊事件相關聯。

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

有人有什麼想法實現這個問題嗎?

在此先感謝!

回答

2

這是不可能的。事件不會在文檔之外觸發,包括窗口鑲邊上的點擊。

1

我認爲你需要考慮你想達到的目標。這聽起來像一個搖搖欲墜的設計,如果你必須得到頁面的關閉事件。如果這是一個問題,很多其他事件會影響你。

如果你有一個JSP頁面產生並通過元刷新顯示狀態 - 你關閉窗口有什麼問題?這應該是你的問題,而不是如何檢測瀏覽器關閉事件。

6

檢測的關閉按鈕是不可能的,但你可以,如果用戶通過做失去了瀏覽器的焦點檢測:

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