【问题标题】:How to prevent the user to change page with jQuery如何防止用户使用 jQuery 更改页面
【发布时间】:2009-07-09 08:47:43
【问题描述】:

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

我的目标是,当用户尝试更改页面(甚至关闭浏览器)时,我会问他是否真的想在不发送表单的情况下退出页面(就像 gmail 所做的那样)。

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

jQuery 有卸载事件:

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

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

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

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    尝试以下操作。演示here

    <script type="text/javascript">
    
           function unloadPage(){
               return "dont leave me this way";
           }
    
           window.onbeforeunload = unloadPage;
    
    </script>
    

    【讨论】:

    • 是的,就是这样!很抱歉,我无法自定义“警报”,但我认为这不会是一个大问题。
    【解决方案2】:

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

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

    有效!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-17
      • 2020-06-01
      • 2020-09-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-20
      • 1970-01-01
      相关资源
      最近更新 更多