我有一小段代码来检查表格字段是否在离开页面之前有任何变化
$(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集成到我的页面中,上面的脚本不再起作用了。如果我用tag-it.js注释掉行,它会再次起作用。当谈到JavaScript时我很无知,我不知道它为什么不起作用。
这是tag-it.js脚本的链接(btw非常好)
https://github.com/aehlke/tag-it/blob/master/js/tag-it.js
编辑:
通过不工作我的意思是如果我编辑表单并且想要离开页面,则没有任何弹出窗口。
如果我不包含tag-it.js文件(上面链接),一切正常,当我编辑表单并尝试离开页面时,我会弹出窗口。
答案 0 :(得分:0)
你应该检查是否已经定义了window.onbeforeunload,如果是,那么你可以
如下所示调用旧版本: //第一个文件
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
};