0

我在使用 Jquery Mobile 上的对话框时遇到问题。在索引页面上,我想对条款和条件进行对话。该对话框有效,我单击接受,它就消失了。然后当移动到另一个页面时它会再次弹出,并且即使在单击接受后也会反复弹出。

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

1 回答 1

2

pageinit页面初始化时触发。因为您使用$(document).bind('pageinit', function (){});了这意味着您绑定到所有 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 开始),则第二种方法会更好

编辑:这可能会更好

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