4

この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] を、現在のページにとどまるには [キャンセル] を押してください。」

4

1 に答える 1

5

使用するだけです:

return "Really?"; 

beforeunload イベントでは、標準の「よろしいですか」ダイアログに表示するメッセージを含む文字列を返す必要があります。

于 2010-08-12T03:26:00.120 に答える