Javascript jQuery确认框离开或保留在页面上

Javascript jQuery确认框离开或保留在页面上,javascript,jquery,Javascript,Jquery,我有一个MVC2 C#.Net web应用程序。当用户试图离开视图时,我想弹出一个确认框,提醒他们已经做了更改但尚未保存 在以前的.NET3.5应用程序中,我使用了window.onbeforeunload。这在MVC3中似乎不起作用。进行此类活动的合适地点或活动是什么 这是我想到的答案。当我第一次运行下面的代码时,我得到了两个弹出窗口;一个用于“我的确认”框,另一个用于“标准windows确定/取消”框。这是一个我不知道事件如何运作的案例: 在此之后,我尝试了以下代码。出现的情况是标准的win

我有一个MVC2 C#.Net web应用程序。当用户试图离开视图时,我想弹出一个确认框,提醒他们已经做了更改但尚未保存


在以前的.NET3.5应用程序中,我使用了
window.onbeforeunload
。这在MVC3中似乎不起作用。进行此类活动的合适地点或活动是什么

这是我想到的答案。当我第一次运行下面的代码时,我得到了两个弹出窗口;一个用于“我的确认”框,另一个用于“标准windows确定/取消”框。这是一个我不知道事件如何运作的案例:

在此之后,我尝试了以下代码。出现的情况是标准的windows确定/取消框显示“您有未保存的更改…”提示。这是一个令人满意的解决办法

window.onbeforeunload = function () {
    if (document.title.indexOf("*") != -1) {
        return "You have unsaved changes...";
    }
}

您是否查看了jQuery中的卸载事件
window.onBeforeUnload
是javascript,因此与您在MVC应用程序中所做的任何事情都完全无关。因此,它应该可以很好地工作。或者(通常是一种好的做法)从jQuery中窃取unload的源代码(因为它具有跨浏览器兼容性):我经常这么做…@ALL…,谢谢你的意见。Rory是对的…onbeforeunload工作了…我把它编错了:)谢谢again@ALL...fyi,我尝试了jQuery(window.unload),但是如果用户在确认窗口中选择了cancel,则无法确定如何停止卸载页面。思想?
window.onbeforeunload = function () {
    if (document.title.indexOf("*") != -1) {
        return "You have unsaved changes...";
    }
}