Jquery移动pagebeforeshow和mobile.changePage

时间:2013-11-25 21:20:35

标签: jquery jquery-mobile

我正在使用jQuery开发移动应用程序。我有2页#pg_login和#pg_account。当默认加载的页面#pg_login将被显示。我有一个逻辑来检查登录详细信息是否存储在会话中。如果登录详细信息可用(即已登录),则必须显示页面#pg_account。

我使用以下代码

$(document).on("pagebeforeshow","#pg_login",function(event){
  var login_flag = checkAlreadyLogin();
  if (login_flag == true){
    $.mobile.changePage('#pg_account');
  }
});

如果登录详细信息可用,checkAlreadyLogin方法将返回true。

问题:当上面的代码执行时,我可以看到#pg_login页面几分之一秒,然后只显示#pg_account页面。

我错过了什么吗?有没有其他方法可以实现这个功能?

更新

根据Omar的建议,以下代码可以正常使用。

$(document).on("pagebeforechange", function(e, data){
  var to_page = data.toPage[0].id;
  if (to_page == "pg_login") {
    if(checkAlreadyLogin()){
      $.mobile.changePage("#pg_account");
      e.preventDefault();
    }
  } 
});

0 个答案:

没有答案