【问题标题】:How to disable 'Changes you made may not be saved' when clicking an anchor tag单击锚标记时如何禁用“您所做的更改可能无法保存”
【发布时间】:2021-08-07 12:14:02
【问题描述】:

我有一个使用 Asp.Net mvc 构建的网站,我在其中显示产品列表并在每个相应的输入字段中自动填写这些产品的默认购买金额。

但是,当我使用锚标记导航到不同的产品目录时,可能会弹出“可能无法保存更改”警报,因为在输入字段中输入了默认值。

现在我尝试在我的共享布局页面中的脚本标记内使用以下内容禁用此警报:

  • window.onbeforeunload = null
  • window.beforeunload = null

我也尝试了类似问题的各种答案,但似乎没有任何帮助。

有谁知道我怎样才能摆脱这个警报? 提前致谢。

【问题讨论】:

  • 该警报不是自动的,它来自您自己的代码。
  • 这似乎是问题所在,显然是同事添加了一条指令来抛出此警报。

标签: javascript jquery angular asp.net-mvc


【解决方案1】:

在 jQuery 中使用它可能会更成功:

$(window).off('beforeunload');

您还可以阅读beforeunload 事件here 的一些注意事项和潜在陷阱。

更新:

为了进一步澄清@Jamiec 留下的评论,该事件应该在您的项目中的某个地方触发,尝试搜索beforeunload 以查看它的来源。

【讨论】:

  • 将此添加到我的共享布局中,但警报仍然出现。
  • 只有在事件是使用 jQuery 绑定的情况下才有效。如果是原生事件,请使用 removeEventListener()。不过,您需要在代码中找到事件处理程序才能获得对它的引用。
【解决方案2】:

显然,警报是从同事创建的指令中调用的,通过禁用该指令,警报将不再出现。

感谢 Jamiec 通知我。

【讨论】:

    猜你喜欢
    • 2017-04-24
    • 2017-03-18
    • 1970-01-01
    • 2020-11-25
    • 2017-03-26
    • 2019-08-30
    • 1970-01-01
    • 1970-01-01
    • 2023-01-18
    相关资源
    最近更新 更多