window.onbeforeunload советы и рекомендации - PullRequest
0 голосов
/ 26 октября 2010

Я хотел бы создать onbeforeunload "Вы внесли изменения на страницу. Плагин jQuery" Оставайтесь на этой странице, оставьте эту страницу ".

Плагину потребуется:

  1. Принять содержащий элемент. $(".editableFieldContainer").beforeUnload()
  2. Автоопределение изменяется на not(:hidden) input / textarea / select.
  3. Предлагать пользователю оставаться на странице, если элементы внутри содержащего элемента изменились.
    • за исключением случаев, когда страница была отправлена ​​через форму.
    • за исключением случаев, когда страница / пользователь хочет отменить изменения, например, была нажата ссылка / кнопка "Отмена".

Примерно так (но не совсем, в нем отсутствуют некоторые функции):

(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 Ответ

1 голос
/ 26 октября 2010

Это может быть то, что вы ищете.

jquery.wtFormDirty-2.0.2.js

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...