0
我想创建一个onbeforeunload
“您已对页面进行了编辑。留在此页面上,离开此页面”jQuery插件。window.onbeforeunload提示和技巧
该插件需要:
- 接受含元素。
$(".editableFieldContainer").beforeUnload()
- 自动检测更改为
not(:hidden)
输入/ textarea /选择。 - 如果包含元素中的元素发生更改,提示用户留在页面上。
- 除非页面是通过表单提交的。
- 除非页面/用户想要取消更改,例如按下“取消”链接/按钮。
像这样的东西(但不完全,它缺少一些功能):
(function(){
var changed = false;
$.beforeUnloadCanceled = false;
$.fn.beforeUnload = function(){
$.beforeUnloadCanceled = true;
return $(this).delegate("input,select,textarea", "change", function(){
changed = true;
});
});
window.onbeforeunload = function(){
if(changed && !beforeUnloadCanceled){return "You have made edits to the page.";}
};
}());
是否已有一个体面的插件,这是否?
看起来可能有一点工作做...和代码气味像臭鸡蛋。但它是一个开始。谢谢! – 2010-10-26 18:00:00
我只是提出了一个更新的版本。这看起来比旧的好.. http://wt-plugins.googlecode.com/files/jquery.wtFormDirty-2.js – code90 2010-10-26 19:22:43
检查您的选择列表代码路径。它有点破碎。 – 2010-10-26 20:48:17