0

JqueryMobileのダイアログで問題が発生しました。インデックスページで、利用規約のダイアログを表示したいと思います。ダイアログが機能し、[同意する]をクリックすると消えます。その後、別のページに移動すると再びポップアップし、[同意する]をクリックした後も繰り返しポップアップします。

<script>
    $(document).bind('pageinit', function (){
        $.mobile.changePage("terms.html", "pop", false, false);
    });
</script>
4

1 に答える 1

2

pageinitページが初期化されるときにトリガーされます。これを使用したため$(document).bind('pageinit', function (){});、1 つだけではなくすべての pageinit にバインドしていることを意味します。使用する

$("#page1").bind('pageinit', function (){
     $.mobile.changePage("terms.html", "pop", false, false);
});

page1最初のページの ID はどこにありますか。

または

$(document).bind('pageinit', function (){
    if(!termsAccepted) {
        $.mobile.changePage("terms.html", "pop", false, false);
    }
});

単一のエントリ ポイント (モバイル アプリのように、常に index.html で始まる) ではなく、アプリへの複数のエントリ ポイント (モバイル Web ページなど) がある場合は、2 つ目の方法が適しています。

編集:これはさらに良いかもしれません

$(document).one('pageinit', function () {
    $.mobile.changePage("terms.html", "pop", false, false);
});
于 2012-05-30T11:43:39.780 に答える