jQuery移动DOM页面重用
jQuery Mobile DOM Page Reuse
我发现jQuery mobile没有重用加载的页面。
$(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");
是一个包含
的HTML文档<div data-role="page" class="search-page">
然而,在每次导航到search.html时,activatpage .data("controller")是空的,所以我重新初始化我的SearchController。
我认为jQuery移动重用页面已经加载到DOM?
jQuery Mobile使用两种不同的页面模板解决方案。
- 多页面 -每个页面都是单个HTML文件的一部分
- 多HTML -其中单个页面是单个HTML文件的一部分
你当然可以混合使用这些模板。
当jQuery Mobile第一次初始化时,初始的HTML文件被完全加载到DOM中。该内容将留在DOM中,直到页面刷新(或者强制删除它,这是一个错误的决定)。
每一个其他的HTML页面将被加载,当你过渡到它,它将被删除,只要你从它过渡。基本上,只要它是活动的,它就会在DOM中保持活跃。
所以,简而言之,只有在初始HTML文件中找到的页面将永久留在DOM中,其他所有内容将在激活它时加载/删除。
相关文章:
- 当带有渲染器的DOM元素不在屏幕顶部时,移动了场景的坐标
- 当DOM节点在DOM中移动时,如何阻止Firefox触发mouseleave
- 如何缓慢移动DOM元素
- 在调整大小和加载时移动 DOM 元素.仅适用于调整大小
- 在循环中移动dom元素
- 使用AngularJS在Bootstrap选项卡之间移动DOM元素
- 在jQuery中移动DOM元素(图层滑块)
- 删除的DOM元素仍然显示在移动safari(iOS 5.1)中
- 在不移动DOM的情况下最大化Div
- Cordova/PhoneGap从移动文件file:///var/mobile/Applications/到dom允许的
- 移动项在DOM中的位置
- jQuery UI 工具提示在源 DOM 元素移动时卡住打开
- 将表单元素向上移动 DOM 并使其包装较低的元素
- 根据包含的链接移动DOM中的元素
- 使用jQuery移动DOM中的元素
- KnockOut绑定在移动DOM元素后中断
- 不能移动DOM元素到其他位置
- jQuery移动DOM页面重用
- 移动DOM元素的方法
- 使用YUI事件监听器在Jquery中移动DOM元素