2012-06-15 68 views
3

我想提醒用戶在使用jquery ui對話框導航離開它們(通過單擊頁面上的其他鏈接)之前,保存某些頁面上的數據。我知道我需要使用onbeforeunload事件來檢測用戶正在離開當前頁面,然後顯示對話框。但是,如果用戶在對話框中單擊「是」,並且在用戶單擊「否」時保持當前頁面,如何允許導航繼續到選定的網址?jquery提示保存數據onbeforeunload

謝謝!

+2

您只需要讓瀏覽器通過「onbeforeunload」機制讓用戶確認他們想離開該頁面即可。 *編輯*等待 - 你問你是如何發現他們決定*不*離開你的頁面,對吧? – Pointy

+0

@Pointy我的網站已經使用jQuery UI對話框,所以我想在這種情況下使用它,並且能夠自定義對話框。但我該如何編碼,點擊「是」意味着繼續原始請求和「否」信號停留在同一頁面上? – Lala

+0

那是這個問題。當用戶點擊「否」,留在頁面上時,最終效果是沒有任何事情發生 - 就像用戶從未點擊過觸發事件的任何事情。因此,我不認爲有任何方法可以直接做你想做的事情,除了嘗試像在「onbeforeunload」處理程序中的''類中添加一個類,然後使CSS響應佈局的一些變化, 或者其他的東西。 – Pointy

回答

3

你只需要分配與提示功能,以window.onbeforeunload事件,如:

window.onbeforeunload = 
    function() { 
     return "Please make sure your data is saved." 
    } 

,瀏覽器將自動提示用戶有兩個選擇:「保留此頁」和「留在此頁」