Javascript 添加其他脚本时onbeforeunload不工作

Javascript 添加其他脚本时onbeforeunload不工作,javascript,jquery,onbeforeunload,Javascript,Jquery,Onbeforeunload,在离开页面之前,我用这段代码检查表单字段是否有任何更改 $(document).ready(function(){ var form = $('#submit-form'), original = form.serialize(); form.submit(function(){ window.onbeforeunload = null; }); window.onbeforeunload = function(){

在离开页面之前,我用这段代码检查表单字段是否有任何更改

$(document).ready(function(){

    var form = $('#submit-form'),
        original = form.serialize();
    form.submit(function(){
        window.onbeforeunload = null;
    });

    window.onbeforeunload = function(){

        if (form.serialize() != original)
            return 'Changes detected';
    };
});
它工作得很好。然后我集成到我的页面,上面的脚本不再工作了。如果我把带有tag-it.js的行注释掉,它会再次工作。我对javascript相当无知,我不知道它为什么不起作用

这里是tag-it.js脚本的链接(顺便说一句,它非常好)

编辑:

如果我编辑表单并想离开页面,我的意思是没有任何弹出窗口


如果我没有包含tag-it.js文件(上面链接),一切正常,当我编辑表单并尝试离开页面时,会弹出窗口。

您应该检查window.onbeforeuload是否已定义如果是,则可以

请按以下方式调用旧版本: //第一档

 window.onbeforeunload = function(){

            if (form.serialize() != original)
                return 'Changes detected';
        };
    // other file
    var olderonbeforeunload = window.onbeforeunload;

    window.onbeforeunload = function(){
           if(typeof olderonbeforeunload == 'function'){
           olderonbeforeunload.apply(arguments);
         }
           // new code
        };

你能详细解释一下“不再工作”吗?有什么错误吗?它只是不起作用吗?对不起,我误解了这个问题。我不知道如何处理你的答案@Shusl我应该把它放到tag-it.js文件中吗?并将//新代码替换为
if
return
行?