如何防止用户使用jQuery更改页面

时间:2009-07-09 08:47:44

标签: javascript jquery

我有一个页面,其表单是通过ajaxSubmit()提交的(因此,无需更改页面)。

我的目标是,当用户尝试更改页面(甚至关闭浏览器)时,我问他是否真的想要退出页面而不发送表单(就像gmail一样)。

例如,Gmail使用类似window.confirm的弹出窗口执行此操作,但如果可行,我将使用自定义消息和选项来处理它。

jQuery有卸载事件:

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

但它允许我在退出页面之前做一些事情;如果用户点击相对按钮,我需要“阻止”页面退出。

那么,如何处理(和取消)页面退出事件?

2 个答案:

答案 0 :(得分:16)

尝试以下方法。演示here

<script type="text/javascript">

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

       window.onbeforeunload = unloadPage;

</script>

答案 1 :(得分:11)

可以使用jQuery绑定“onbeforeunload”事件:

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

它有效!!