在jQuery mobile通过 $ .mobile.changePage(...)
加载下一页内容后,我一直在寻找一种删除初始页面容器的方法我所遇到的是,首次显示页面时创建的这个初始DIV元素将始终保留在页面上 - 并且在调用$ .mobile.changePage后将只会隐藏。 ..)
我需要删除这个初始页面容器,因为一些旧数据驻留在那里,应该在首页更改时重置。
任何人都有解决方案吗?一直在网上搜索但无济于事。
在调用$ .mobile.changePage(...)之后,我还尝试执行$('#first-page')。remove(),但这将删除初始页面并隐藏新加载的页面!
编辑通过使用 .html(“”)
清除初始DIV来解决答案 0 :(得分:1)
你可以在没有ajax的情况下加载下一页,这应该删除初始页面。
data-ajax="false"
希望这有帮助!
答案 1 :(得分:1)
我认为你是在动态创建这些页面。 API中有一个隐藏方法,但您可以将其应用于任何页面,然后在该页面的退出时,它将被删除。
$.mobile._bindPageRemove
所以,它可能看起来像这样
newpage.attr( "data-" + $.mobile.ns + "external-page", true ).one( 'pagecreate', $.mobile._bindPageRemove );
注意:由于这是一种隐藏方法,因此它是隐藏API的一部分,在升级时可能会更改,恕不另行通知。如果您使用此功能,请在升级时仔细测试。
答案 2 :(得分:0)
我做了:
$.mobile.changePage('login.html', {changeHash:false});
changeHash(默认值:true)类型:Boolean决定是否在哈希中 位置栏应该更新。这具有创建新的效果 浏览器历史记录。它还意味着,如果设置为false,则 传入页面将替换浏览器历史记录中的当前页面,因此 用户导航的页面将无法访问 通过浏览器的“后退”按钮。