缓存页面正在影响jQuery选择器

时间:2015-03-27 11:07:46

标签: jquery jquery-mobile

我正在为我的混合应用程序使用JQM。每个页面都是一个单独的HTML文件,JQM使用Ajax加载页面。

每个页面都有一个带菜单栏的页脚。根据某些标准,显示2-4个菜单项。如果我必须删除一些菜单项,我运行一个js脚本,它以:

开头
var footer = $('#' + activePage +' footer [data-role="navbar"]');

使用以下代码设置活动页面:

var activePage; // Global variable

$(document).on( "pagecontainerbeforeshow", function( e, ui ) {
   activePage = ui.toPage.prop("id");
});

问题是,在浏览了几页之后,我突然有两个页脚。因此,当我计算<li>个项目的数量时,我会从第一个页脚获得2 + 4.2,从第二个页面获得4个。

如何避免检索缓存页面?

1 个答案:

答案 0 :(得分:1)

pagecontainer小部件有一个 getActivePage() 方法,可以满足您的需求。

所以你可以这样做:

var footer = $("body").pagecontainer( "getActivePage" ).find('.ui-footer [data-role="navbar"]');

然后,您不需要尝试在页面显示中保存活动页面ID。

  

正在使用 DEMO