我正在使用JQM 1.4.3。我有一个AJAX,它设置localStorage键的值,然后更改页面:
login.js
$.ajax({
url: url,
type: 'GET',
dataType: 'json',
data: 'method=login&username=' + encodeURIComponent(username) + '&token=' + encodeURIComponent(token),
//async: false,
//crossDomain: true,
error: function(XMLHttpRequest, textStatus, errorThrown) {
console.log(JSON.stringify(XMLHttpRequest));
console.log(JSON.stringify(textStatus));
console.log(JSON.stringify(errorThrown));
},
success: function( user ){
console.log(JSON.stringify(user));
if(user) {
$('#welcome').remove();
storage.setItem("uid", user);
storage.setItem("username", username);
$('#welcome').trigger("create");
$.mobile.changePage( "#page_dashboard", { transition: "slideup" });
console.log(storage.username);
}
}
});
的index.html
<div data-role="content">
<h2 align="center" id="welcome">Hello</h2>
</div>
index.js(附加到index.html)
$( document ).delegate("#page_dashboard", "pageinit", function() {
$('#welcome').trigger("create");
$('#welcome').text("Hello " + storage.username);
});
我正在尝试刷新#page_dashboard上的文本值以反映新用户。我正在使用page_init和page_beforecreate,并且都不刷新文本。如果我手动刷新页面,则文本会发生变化。如何刷新元素以反映新的localStorage值?
答案 0 :(得分:1)
“pageinit”。如果你想做的话 只有一次使用 pageinit 。
“pagebeforeshow”会在您的页面显示之前触发。您 在显示之前需要执行操作时可以使用此事件, 喜欢添加div或HTML结构。 如果每次页面都需要它 访问然后使用pagebeforeshow 。
$( document ).delegate("#page_dashboard", "pagebeforeshow", function() {
$('#welcome').trigger("create");
$('#welcome').text("Hello " + storage.username);
});