window.onbeforeunload提示和技巧

时间:2010-10-26 16:33:10

标签: javascript jquery jquery-plugins

我想创建一个onbeforeunload“你已经对该页面进行了编辑。请继续阅读本页,将此页面保留为”jQuery插件。

该插件需要:

  1. 接受包含元素。 $(".editableFieldContainer").beforeUnload()
  2. 自动检测更改为not(:hidden) input / textarea / choices。
  3. 如果包含元素中的元素已更改,则提示用户留在页面上
    • 除非页面是通过表单提交的。
    • 除非页面/用户想要取消更改,例如,按下了“取消”链接/按钮。
  4. 像这样(但不完全是,它缺少一些功能):

    (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.";} 
        };
    }());
    

    是否已经有一个像样的插件?

1 个答案:

答案 0 :(得分:1)

这可能就是你要找的东西。

jquery.wtFormDirty-2.0.2.js