我正在使用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();
}
}
});