Javascript 单击“提交”时的window.onbeforeunload警报

Javascript 单击“提交”时的window.onbeforeunload警报,javascript,jquery,asp.net-mvc,Javascript,Jquery,Asp.net Mvc,我需要处理以下代码,以便在未保存表单数据的情况下提示用户,但此代码也会在单击提交按钮时显示警报 $(document).ready(function () { var _isDirty = false; $(":input").live("change", function () { _isDirty = true; }); $(':[type=submit]').live('click', function () { _isDi

我需要处理以下代码,以便在未保存表单数据的情况下提示用户,但此代码也会在单击提交按钮时显示警报

$(document).ready(function () {
    var _isDirty = false;
    $(":input").live("change", function () {
        _isDirty = true;
    });

    $(':[type=submit]').live('click', function () {
        _isDirty = false;            
    });
    window.onbeforeunload = function () {
        if (_isDirty) {            
            return 'You have made changes to data on this page.  If you navigate away from this page without first saving your data, the changes will be lost.';
        }
        else {           
            return null;
        }
    }
}

请按照下面的说明进行回答。

onbeforeunload
有一个怪癖,即如果您返回任何内容,即使返回null,它也会抛出警报。尝试删除else子句
else{return null;}
,它应该会停止显示。

获取事件并使用PreventDefaultName是否可以检查代码_isDirty=false是否实际执行?