window.onbeforeunload无法按预期工作

时间:2013-07-29 11:57:48

标签: javascript jquery html javascript-events onbeforeunload

我创建了以下jsfiddle

如果您在任何编辑框中输入任何输入并尝试离开页面,则会显示警告,这是正常的。

如果输入任何输入并单击按钮,则在不需要时仍会显示警告。 (我需要阻止它显示)。

在网页中,window.onbeforeunload似乎比点击事件更早被抛出,因此即使您点击提交按钮,它也会始终显示警告对话框。

这让我觉得代码应该改变以处理事件的时间但不确定?

1 个答案:

答案 0 :(得分:1)

听起来您想要做的是阻止在提交表单时显示onbeforeunload消息。

只需添加一个submit处理程序,将form_has_been_modified值返回false。

$("#additemform").on('submit', function(e) {
    form_has_been_modified = false;
});

<强> Working Demo

在本演示中,我还清理了您的示例,删除了不必要的处理程序并更改了form_has_been_modified以使用原生布尔truefalse而不是0和1。