2009-07-09 62 views
8

我有一個頁面,通過ajaxSubmit()提交表單(因此,無需更改頁面)。我的目標是,當用戶嘗試更改頁面(甚至關閉瀏覽器)時,我問他是否真的想在不發送表單的情況下退出頁面(完全像gmail那樣)。如何防止用戶用jQuery更改頁面

Gmail例如使用window.confirm類似的彈出窗口來做到這一點,但如果可能的話,我想用自定義消息和選項來處理它。

的jQuery有卸載事件:

$(window).unload(function() { alert("Bye now!"); }); 

但它可以使我只是退出頁面之前做一些事情;如果用戶點擊相關按鈕,我需要'阻止'頁面退出。

那麼,如何處理(和取消)頁面退出事件?

回答

16

請嘗試以下操作。演示here

<script type="text/javascript"> 

     function unloadPage(){ 
      return "dont leave me this way"; 
     } 

     window.onbeforeunload = unloadPage; 

</script> 
+0

是的,就是這樣!對不起,我不能定製'提醒',但我不認爲會是一個大問題。 – Strae 2009-07-09 09:18:23

10

這是可能的綁定了 「onbeforeunload」 事件使用jQuery:

$(window).bind('beforeunload', function(e) { 
    return "ATTENZIONE!!"; 
}); 

它的作品!