我创建了一个页面,当用户单击窗口上的(关闭x)按钮时会向用户发出警告。我进行了一些阅读,并发现javascript有一个名为onbeforeonload的函数,可以完成我试图实现的工作。然而,我在实现后发现,当用户点击我窗口中的任何内容时(例如,保存并输入)对话框会重新出现。我想知道如何只能在窗口中定位特定的X按钮。
window.onbeforeunload = function (evt) {
var message = 'Do you want to leave?';
if (typeof evt == 'undefined') {
evt = window.event;
}
if (evt) {
evt.returnValue = message;
}
return message;
}
答案 0 :(得分:0)
现在正在全局调用该函数...此资源可以帮助您实现所需内容:http://randomdrake.com/2009/09/23/how-to-use-onbeforeunload-with-form-submit-buttons/
答案 1 :(得分:0)
这是IE的“按预期工作”行为。无论是否导航,锚标记点击都会触发onbeforeunload
event。
这是我使用的解决方法 - 我不确定它是否是最好的方法:
document.onmouseup = function () {
if (window.event.srcElement.tagName === 'A') {
// turn off your onbeforeunload handler
...
// some small time later, turn it back on
setTimeout(..., 200);
}
};