如何检查脏标志

How to check for dirty flag

本文关键字:标志 检查 何检查      更新时间:2023-09-26

我想知道,如果用户选择从页面导航,检查页面是否脏的最佳方法是什么。例如,有一个注册表单,用户输入所有信息。然后不小心点击了一个链接,从中导航。

我在网上发现了这一点,如果有人更改了任何表单输入值,它会检查页面是否脏了。

<script type="text/javascript">
var isDirty = false;
var msg = 'You haven''t saved your changes.';
$(document).ready(function(){
    $(':input').change(function(){
        if(!isDirty){
            isDirty = true;
        }
    });
    window.onbeforeunload = function(){
        if(isDirty){
            return msg;
        }
    };
});
</script>

所以这很有效。但是,我如何排除一些弹出链接?有更好的方法吗?

您应该在这些输入上添加onclick事件侦听器并"return false;"类似的东西

$('a.className="popup"').onclick = function(){return false};

<a href="#"onclick="return false;">文本<a>