Я хотел бы создать onbeforeunload
"Вы внесли изменения на страницу. Плагин jQuery" Оставайтесь на этой странице, оставьте эту страницу ".
Плагину потребуется:
- Принять содержащий элемент.
$(".editableFieldContainer").beforeUnload()
- Автоопределение изменяется на
not(:hidden)
input / textarea / select.
- Предлагать пользователю оставаться на странице, если элементы внутри содержащего элемента изменились.
- за исключением случаев, когда страница была отправлена через форму.
- за исключением случаев, когда страница / пользователь хочет отменить изменения, например, была нажата ссылка / кнопка "Отмена".
Примерно так (но не совсем, в нем отсутствуют некоторые функции):
(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.";}
};
}());
Уже есть приличный плагин, который делает это?