このjQueryコードがあります。
$(function () {
$(window).unbind("beforeunload");
$(window).bind("beforeunload", function () {
return confirm("Really?");
});
});
ウィンドウを閉じると確認要求が表示され、[キャンセル] をクリックすると、2 回目の確認が表示されます。
「このページから移動してもよろしいですか?」
"間違い"
「続行するには [OK] を、現在のページにとどまるには [キャンセル] を押してください。」
2 つ目のダイアログが表示されるのはなぜですか?それを削除する方法はありますか?
編集
コードを次のように変更しました。
$(function () {
$(window).bind("beforeunload", function () {
return "slappy?";
});
});
しかし、確認メッセージは表示されません。そこにアラートを配置してアラートを表示できるため、イベントが発生しています。
編集 2
コードをこれに変更しました。
window.onbeforeunload = function () {
var txtBlog = $('#tbxNote').val();
if (txtBlog != "")
return "You have not saved your blog entry.";
}
それは機能しますが、メッセージの上下に他のテキストがあります。
「このページから移動してもよろしいですか?」
「ブログエントリが保存されていません。」
「続行するには [OK] を、現在のページにとどまるには [キャンセル] を押してください。」