说我想加载一个新的html文件,包含一些jQuery页面,如下所示:
$.mobile.changePage("some_page.html");
如果这个html文件里面有两个页面,我该如何加载不是第一页,而是加载第二页? 我试过
$.mobile.changePage("some_page.html#second_page_id");
但它不起作用。 感谢
答案 0 :(得分:0)
$.mobile.changePage()
函数将第一个div带到data-role="page"
并通过AJAX调用将其加载到dom中。最好的解决方案是将第二页移动到html代码的顶部。
否则,如果您想决定加载第一页或第二页,可以将它们放在不同的文件中。
也许有办法调用第二页,但我不知道如何实现这一目标。
答案 1 :(得分:0)
Dude尝试将您的第二个页面元素data-url
设为<div data-url="page.html&subpageidentifier">
在目标html页面中。让我知道这真的对你有用。
答案 2 :(得分:0)
您可以手动抓取所需的元素:
//delegate the event binding for some link(s)
$(document).delegate('a.my-link', 'click', function () {
//show the loading spinner
$.mobile.showPageLoadingMsg();
//make the AJAX request for the link's href attribute
$.ajax({
url : this.href,
success : function (serverResponse) {
//get the data-role="page" elements out of the server response
var $elements = $(serverResponse).find('[data-role="page"]');
//you can now access each `data-role="page` element in the `$elements` object
$elements.filter('#page-id').appendTo('body');
//now use changePage to navigate to the newly added page
$.mobile.changePage($('#page-id'), { /*options*/ });
//hide the loading spinner
$.mobile.hidePageLoadingMsg();
},
error : function (jqXHR, textStatus, errorThrown) { /*Don't forget to handler errors*/ }
});
//stop the default behavior of the link, also stop the event from bubbling
return false;
});
但我不得不说,通过jQuery Mobile目前的工作方式,您最好将每个data-role="page"
元素放在单独的文档中。
答案 3 :(得分:0)
ทำแบบนี้ครับ
<a href="../index.php#two" data-ajax="false" data-transition="fade" data-role="button" data-theme="e" name="out">ออก</a>