Javascript 如何使用hashchange实现beforeunload功能?

Javascript 如何使用hashchange实现beforeunload功能?,javascript,html,Javascript,Html,这里的代码用于页面刷新或关闭页面。它会弹出一个对话框,询问您是否确定要在不保存的情况下离开 $(window).on('beforeunload', function(){ return 'Did you save your changes?'; }); 问题是我有一个水疗中心,我想把它也展示在hashchange上。 警报在此处工作,但返回字符串不会起任何作用。我猜那个对话是 特定于beforeunload事件 $(window).on('hashchange', func

这里的代码用于页面刷新或关闭页面。它会弹出一个对话框,询问您是否确定要在不保存的情况下离开

 $(window).on('beforeunload', function(){
      return 'Did you save your changes?';
 });
问题是我有一个水疗中心,我想把它也展示在hashchange上。 警报在此处工作,但返回字符串不会起任何作用。我猜那个对话是 特定于beforeunload事件

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

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

我认为您可能必须捕获哈希上的单击事件,如果未确认,则取消它:

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

演示:

如果用户使用后退或前进按钮怎么办?