0

私はこのコードを持っています:

$(window).bind('beforeunload', function () {

        $("#dialogsendnotifications").dialog('open');
    });

    $("#dialogsendnotifications").dialog({

        autoOpen: false,
        closeOnEscape: false,
        buttons: {
            "Yes": function () {
                $(this).dialog('close');
            },
            "No": function () {
                $(this).dialog('close');
            }
        }
    });

したがって、基本的には、ユーザーがナビゲートしようとすると、はいいいえダイアログがポップアップします。問題は、ダイアログが表示されても、ユーザーがボタンを選択する前にページから移動することです。

ユーザーが回答を選択するまで待機させる方法を教えてください。

4

3 に答える 3

3

できません。イベントはonbeforeunload非常に制限的です。できることは、ブラウザが独自のダイアログで使用する文字列を返すことだけです。派手なことは一切できません。

以下に例を示しますソース

jQuery(function($) {

  $(window).bind("beforeunload", function(event) {
    return "This is the message you're allowed to provide";
  });

});
于 2012-04-28T09:13:18.570 に答える
0

君たちありがとう。私にとって、これは役立ちます:

$(window).on('beforeunload', function(){
 return '';
})

しかし、私の例では.each()、「beforeunload」関数内にループ () があります。次に、値を返す前にループを終了することを忘れないでください;)

于 2014-09-10T14:59:36.487 に答える
-1

false を返して、次のようにアクションをブロックします。

$(window).bind('beforeunload', function () {
    $("#dialogsendnotifications").dialog('open');
    return false;
});
于 2012-04-28T09:13:14.470 に答える