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