pagecontainer更改功能不起作用

时间:2014-01-03 20:23:34

标签: javascript jquery-mobile

我可以使用pagecontainer更改功能在单击按钮调用的函数内部工作。但由于某些原因,当我在函数外部运行代码时,页面容器更改功能不起作用。我检查用户是否已登录,然后如果他们未登录则想要进行页面更改/重定向。

 <script>
//works
    function test() {
        $(':mobile-pagecontainer').pagecontainer('change', '#event-list-page');
    }
//doesn't work
    var user = window.localStorage.getItem("user");
    if (user == null){
        alert('not logged in. Should redirect.');
        $(':mobile-pagecontainer').pagecontainer('change', '#event-list-page');
    }
 </script>

这个问题的最佳解决方案是什么?我应该只进行javascript重定向吗?或者我是否需要等待页面一直加载?

2 个答案:

答案 0 :(得分:2)

您应首先启动$.mobile.pageconatiner示例:

$.mobile.pageContainer.pagecontainer({ defaults: true });

答案 1 :(得分:0)

我认为jQuery mobile必须首先加载整个页面,因为它会预先加载一些页面并执行ajax转换和事情。这不是一个简单的重定向,比如设置window.location。如果你把它放在document.ready块中它就可以了。

$( document ).ready(function() {
                    $.mobile.pageContainer.pagecontainer('change', '#event-list-page');
                    });