我已经在javascript中设置了:
var onBeforeUnloadFired = false;
window.onbeforeunload = function (sender, args)
{
if(window.event){
if(!onBeforeUnloadFired) {
onBeforeUnloadFired = true;
window.event.returnValue = 'You will lose any unsaved changes!'; //IE
}
}
else {
return 'You will lose any unsaved changes!'; //FX
}
windows.setTimeout("ResetOnBeforeUnloadFired()", 1000);
}
function ResetOnBeforeUnloadFired() {
//Need this variable to prevent IE firing twice.
onBeforeUnloadFired = false;
}
我正在尝试实现一个编辑屏幕,用户在离开之前会收到警告。它工作正常,除了我弹出按钮点击的正常回发。我希望避免这种情况,所以我想知道是否可以确定按下哪个按钮就可以了。
有人知道如何确定在 windows.onbeforeunload 中按下了哪个按钮吗?
或者有人知道更好的方法来实现我想要实现的目标吗?
最佳答案
通过将所有编辑项文本框等放入更新面板来解决此问题。
现在 windows.onbeforeunload 只会针对其外部的组件触发。
关于javascript - 如何确定javascript中window.onbeforeunload中的哪个控件导致了该事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5215615/