1

我有一个 aspx 页面。在页面上我有一个 javascript 函数

window.onbeforeunload = confirmExit;
function confirmExit()
{
return "You have attempted to leave this page.  If you have made any changes to the fields      without clicking the Submit button, your changes will be lost.  Are you sure you want to exit   this page?";

}   

这在用户离开页面时执行。然而,它也在部分页面回发上执行。如何检查这是否是部分页面回发并忽略它?

4

1 回答 1

0

我可以防止在进行 AJAX 调用时调用 window.onbeforeunload

查看您正在执行的操作是否执行以下任何操作:

onbeforeunload 事件

要调用此事件,请执行以下操作之一:

  • 关闭当前窗口。
  • 通过输入新地址或选择收藏夹导航到另一个位置。
  • 单击引用另一个文档的锚点。
  • 调用 anchor.click 方法。
  • 调用 document.write 方法。
  • 调用 document.close 方法。
  • 调用 window.close 方法。
  • 调用 window.navigate 或 NavigateAndFind 方法。
  • 调用 location.replace 方法。
  • 调用 location.reload 方法。
  • 为 location.href 属性指定一个新值。
  • 通过 INPUT type=submit 控件将表单提交到 ACTION 属性中指定的地址,或调用 form.submit 方法。
  • 调用 window.open 方法,为窗口名称提供可能的值 _self。
  • 调用 document.open 方法。
  • 单击“后退”、“前进”、“刷新”或“主页”按钮。
于 2012-04-24T15:11:11.037 回答