我是JQM的新手。 我有文件index.html,其中我使用div标签创建了许多页面 e.g
<div data-role="page" id="pg1 "></div>
现在我想使用页面id重新加载一个特定的页面。如何使用location.reload()或其他方式执行此操作?
感谢..
答案 0 :(得分:1)
如果您使用的是多页面模板,其中所有伪页面都在一个文档中,那么您无法默认刷新页面,因为它只存在于当前DOM中。您可以编写一个在AJAX请求中请求相同文档的函数,然后从响应中获取伪页面并替换DOM中的当前页面:
function replace_multipage_template (SELECTOR) {
//show the loading spinner
$.mobile.showPageLoadingMsg();
$.ajax({
//request the same document as the current URL
url : window.location.href,
success : function (response) {
//select just the desired pseudo-page
var $ele = $(response).find(SELECTOR);
//replace the current pseudo-page with the new one
$(SELECTOR).replaceWith($ele);
//hide the loading spinner
$.mobile.hidePageLoadingMsg();
//navigate to the refreshed pseudo-page
$.mobile.changePage($ele);
},
error : function (jqXHR, textStatus, errorThrown) { /*make sure to handle errors*/ }
});
}
您可以在click
事件的事件处理程序中使用此代码,以获取将用户引导至您要刷新的页面的链接:
//bind via delegation to the click events for links that target a specific pseudo-page
$(document).delegate('a[href="#some-page-id"]', 'click', function () {
//call the function from above, using the HREF attribute as the SELECTOR variable
replace_multipage_template($(this).attr('href'));
//prevent the default behavior of the link
return false;
});
答案 1 :(得分:1)
http://jquerymobile.com/test/docs/api/methods.html
将$ .mobile.changePage方法与reloadPage选项
一起使用