ここでの非常に一般的なシナリオは、ユーザーがフォームのフィールドを変更し、保存せずにページを離れることです。警告メッセージを投げます。
私は最初に使用することから始めました
$(window).bind("beforeunload", function(){ });
しかし、ダイアログをスローしてユーザーにいくつかのオプションを提供したいので、代わりにこれを選択しました。
$("#myForm").change( function(){
$("a:not(:#myForm a)").click( function(){
$("#promptDialog").dialog("open");
return false;
});
});
これが正確に機能しない唯一のシナリオは、ユーザーがフィールドを変更してから元の値に戻した場合です (プロンプトは表示されませんが、表示されます)。
このソリューションはエレガントですか?これを行うためのより良い方法はありますか?