【发布时间】:2014-11-19 18:01:00
【问题描述】:
我创建了一个 multipage(data-role="page") html。在 page1 我最初有用户名字段 填写它存储在 localstorage 中的用户名并重定向到 page2。再次打开应用程序以检查本地存储是否存在,直到 hide pagebeforeshow 事件中的 page1 才能正常工作,因此问题出现在 pagebeforeshow 事件中strong>page2未创建。这个怎么解决。这是工作的Fiddle
*Note 在小提琴中输入文本并提交,然后刷新页面。 html是这样的:
<div data-role="page" id="page1">
<div data-role="header">
<h1>page 1 from html</h1>
<a >Go</a>
</div><!-- /header -->
<div data-role="content">
<label>Type text to store in LocalStoreage</label>
<input type="text" id="name" />
<button id="sub">Submit</button>
</div>
</div><!-- /page -->
<div data-role="page" id="page2">
<div data-role="header">
<h1>Page 2</h1>
<a href="#page1">Back</a>
</div><!-- /header -->
<div data-role="content">
<p> Hi i am second page</p>
</div>
</div><!-- /page -->
脚本是:
$(document).on("pagebeforeshow","#page1",function(){
$("#page1").hide();
var locStorage = localStorage.getItem("lastname");
//alert(locStorage);
if(locStorage){
$.mobile.changePage("#page2");
}else{
$("#page1").show();
}
});
$(document).on("click","#sub",function(){
// alert( $("#name").val());
localStorage.setItem("lastname", $("#name").val());
$.mobile.changePage("#page2");
});
当评论 $("#page1").hide(); 这一行时,page1 显示 之后只导航到 page2 我 不想在 localstorage 时显示 page1可用。
编辑: 在加载 jquery mobile 之前设置 $.mobile.autoInitialize = false;,即使 page1 加载了几秒钟。
【问题讨论】:
-
This 可能会有所帮助。
-
@MysticMagic 谢谢你的回复jsfiddle.net/5mL8yLu2/7 现在也加载第1页几秒钟,然后重定向到第2页
标签: javascript jquery html jquery-mobile