【问题标题】:How to have beforeunload functionality with hashchange?如何使用 hashchange 获得 beforeunload 功能?
【发布时间】:2014-07-30 20:56:56
【问题描述】:

此代码用于页面刷新或关闭页面。它会弹出一个对话框,询问您是否确定要离开而不保存。

 $(window).on('beforeunload', function(){
      return 'Did you save your changes?';
 });

问题是我有一个 SPA,我希望它也显示在 hashchange 上。 警报在这里有效,但返回一个字符串什么都不做。我猜那个对话框是 特定于 beforeunload 事件。

 $(window).on('hashchange', function(){
     alert("saved?");
     return "this doesn't do anything";
 });

我应该如何解决这个问题?

【问题讨论】:

    标签: javascript html


    【解决方案1】:

    我认为您可能必须在哈希上捕获点击事件并在未确认的情况下取消它:

    $('a[href^="#"]').click(function(){
        return confirm('Did you save your changes?')
    });
    

    演示:http://jsfiddle.net/v8GbN/

    【讨论】:

    • 如果用户使用后退或前进按钮会怎样?
    猜你喜欢
    • 2015-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-09
    相关资源
    最近更新 更多