window.onbeforeunload允许提交按钮?

时间:2016-01-28 18:17:51

标签: javascript

当用户离开页面时,我有以下javascript来显示确认框。

我的问题是,即使用户点击我页面中表单内的提交按钮,它也会显示。我不希望在表单提交和跨度点击时触发此操作。

如何在下面的功能中允许表单提交和跨度点击?

window.onbeforeunload = function (e) {
    e = e || window.event;



    return '';
};

修改 -------------------------------

抱歉,它现在是一个表单,它是简单的按钮和一个href: 我有一个页面只使用一个按钮:

<input type="button" value="Save" id="btn-crop" />

和一个链接:

<a href="done.php" class=button2>Save</a>

2 个答案:

答案 0 :(得分:0)

您应该能够使用e.currentTarget属性检查调度事件的对象,然后在必要时显示提示。

答案 1 :(得分:0)

您可以在页面中每个按钮的回复提交事件中调用[Event].stopPropagation

当提交按钮时,此函数将停止beforeunload事件的回调函数。

您可以详细了解[Event].stopPropagation here

像这样:Button.addEventListener("submit",function(Event){Event.stopPropagation()})