jQuery mobile隐藏初始页面而不是删除它

时间:2012-03-29 14:37:20

标签: jquery-mobile

在jQuery mobile通过 $ .mobile.changePage(...)

加载下一页内容后,我一直在寻找一种删除初始页面容器的方法

我所遇到的是,首次显示页面时创建的这个初始DIV元素将始终保留在页面上 - 并且在调用$ .mobile.changePage后将只会隐藏。 ..)

我需要删除这个初始页面容器,因为一些旧数据驻留在那里,应该在首页更改时重置。

任何人都有解决方案吗?一直在网上搜索但无济于事。

在调用$ .mobile.changePage(...)之后,我还尝试执行$('#first-page')。remove(),但这将删除初始页面并隐藏新加载的页面!

编辑通过使用 .html(“”)

清除初始DIV来解决

3 个答案:

答案 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,则   传入页面将替换浏览器历史记录中的当前页面,因此   用户导航的页面将无法访问   通过浏览器的“后退”按钮。