0
我发现jQuery手机并未重新使用加载的页面。jQuery Mobile DOM页面重用
$(document).on("pagecontainershow", function() {
var activePage = $.mobile.pageContainer.pagecontainer("getActivePage");
if (activePage.hasClass("search-page")) {
var controller = activePage.data("controller");
if (!controller) {
controller = new SearchController(activePage);
activePage.data("controller", controller);
}
controller.loadPage();
}
});
再后来...
$.mobile.pageContainer.pagecontainer("change", "search.html");
是包含
<div data-role="page" class="search-page">
然而HTML文档中,在每个导航到search.html,activatePage.data( “控制器” )是空的,所以我重新初始化我的SearchController。
我以为jQuery手机重用页面已经加载到DOM?
如果你想保存在dom中,可以在search.html页面div中加入'data-dom-cache =“true”'。一旦隐藏,外部页面将被删除,而不会被缓存。 – Omar
什么是外部网页? – Jeff
任何通过Ajax加载的页面,例如Search.html是一个外部页面。 – Omar