首頁 >web前端 >js教程 >如何捕獲瀏覽器視窗關閉事件而不觸發表單提交或超連結?

如何捕獲瀏覽器視窗關閉事件而不觸發表單提交或超連結?

Susan Sarandon
Susan Sarandon原創
2024-12-07 12:56:14553瀏覽

How Can I Capture Browser Window Close Events Without Triggering on Form Submissions or Hyperlinks?

捕獲瀏覽器視窗關閉事件,同時排除表單提交和超連結

jQuery 中的beforeunload 事件旨在偵測使用者何時離開頁面。但是,此事件也會在表單提交時觸發,這在某些情況下可能是不可取的。本文探討了一種從 beforeunload 事件中排除表單提交和超連結(除其他框架之外)的方法。

為了實現此目的,我們首先將變數 inFormOrLink 初始化為 false。當使用者點擊超連結或提交表單時,我們將 inFormOrLink 設定為 true。

在 beforeunload 事件處理程序中,我們檢查 inFormOrLink 的值。如果屬實,我們會提示使用者確認,並顯示訊息「您真的要關閉嗎?」相反,如果 inFormOrLink 為 false,我們會傳回 null 以抑制確認提示。

這是jQuery 1.7 及以上版本的修訂程式碼片段:

對於1.7 以下的jQuery 版本,使用下面的程式碼:

這種方法有效地捕獲了瀏覽器視窗關閉事件,同時排除了表單提交內容和超連結(來自其他框架的除外)。

以上是如何捕獲瀏覽器視窗關閉事件而不觸發表單提交或超連結?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn