捕獲瀏覽器視窗關閉事件,同時排除表單提交和超連結
jQuery 中的beforeunload 事件旨在偵測使用者何時離開頁面。但是,此事件也會在表單提交時觸發,這在某些情況下可能是不可取的。本文探討了一種從 beforeunload 事件中排除表單提交和超連結(除其他框架之外)的方法。
為了實現此目的,我們首先將變數 inFormOrLink 初始化為 false。當使用者點擊超連結或提交表單時,我們將 inFormOrLink 設定為 true。
在 beforeunload 事件處理程序中,我們檢查 inFormOrLink 的值。如果屬實,我們會提示使用者確認,並顯示訊息「您真的要關閉嗎?」相反,如果 inFormOrLink 為 false,我們會傳回 null 以抑制確認提示。
這是jQuery 1.7 及以上版本的修訂程式碼片段:
對於1.7 以下的jQuery 版本,使用下面的程式碼:
這種方法有效地捕獲了瀏覽器視窗關閉事件,同時排除了表單提交內容和超連結(來自其他框架的除外)。
以上是如何捕獲瀏覽器視窗關閉事件而不觸發表單提交或超連結?的詳細內容。更多資訊請關注PHP中文網其他相關文章!