2009-07-09 58 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!!"; 
}); 

它的作品!