代码之家  ›  专栏  ›  技术社区  ›  qadenza

如何提醒用户更改未保存[重复]

  •  0
  • qadenza  · 技术社区  · 5 年前

    这个问题已经有了答案:

    我想在离开页面前提醒用户-如果 bsave 可见-不保存更改。

    什么都不起作用(chrome,其他浏览器没有经过测试)。

    $(window).on('beforeunload', function(){
        if($('#bsave').is(':visible')){
            alert('CHANGES ARE NOT SAVED !');
            return; // should prevent closing the window
        }
    });
    

    也尝试了以下方法-没有成功

    $(window).on('beforeunload', function(){
    var c=confirm();
    if(c){
      return true;
    }
    else
    return false;
    

    有什么帮助吗?

    3 回复  |  直到 5 年前
        1
  •  1
  •   Bilal Siddiqui    5 年前

    而是使用 alert 方法,只需返回消息。浏览器将自动创建一个警报:

    window.onbeforeunload = function() {
       if ($('#bsave').is(':visible')){
            return 'CHANGES ARE NOT SAVED !';
       }
    }
    
        2
  •  1
  •   Blue    5 年前

    根据 docs 以下内容:

    为了防止出现不需要的弹出窗口,浏览器可能不会显示在 beforeunload 事件处理程序,除非页已与之交互,或者可能根本不显示它们。

    这个 卸货前 如果要让函数在用户离开页面时向用户提供响应,则函数应返回一个字符串:

    $(window).on('beforeunload', function(){
        if($('#bsave').is(':visible')){
            return 'CHANGES ARE NOT SAVED !'; // should prevent closing the window
        }
    });
    
        3
  •  0
  •   Vishal modi    5 年前

    你只需要添加parantes,它工作正常。

    $(window).on('beforeunload', function(){
    var c=confirm();
    if(c){
      return true;
    }
    else
    return false;
    });