jQuery Mobile:获取上一页的ID

时间:2011-10-02 19:33:19

标签: jquery jquery-mobile

我基本上只需要在主页点击#reviews页面时使用自定义功能。

以下是我正在使用的当前代码:

$(document).bind("mobileinit", function(){
    $('#reviews').live('pagebeforeshow',function(event){
    var cpage = $.mobile.activePage.attr('id');
        if (cpage == 'home') {
            addPages();
        }
    });
});

问题是,即使它正在使用'pagebeforeshow',它正在使用它将要转换为活动页面的页面的id,在这种情况下是'review'而不是home,从而导致if语句失败。

所以我的问题是,在这个例子中,我如何获得上一页的id,以确保它实际上来自#home页面?

2 个答案:

答案 0 :(得分:22)

要完成答案:您将获得一个jQuery对象,因此要获取页面的ID,请执行以下操作:

$("#page-id").live('pagebeforeshow', function(event, data) {
    console.log("the previous page was: " + data.prevPage.attr('id'));
});

data.prevPage 将上一页作为jQuery对象,

.attr('id')从该jQuery对象获取id。

答案 1 :(得分:6)

pagebeforeshow事件处理程序实际上有2个参数:event和ui。您可以从ui访问上一页。这是jquery-mobile event docs的一个例子:

$('div').live('pageshow', function(event, ui){
  alert( 'This page was just hidden: '+ ui.prevPage);
});

对于所有4页的节目/隐藏事件,这些参数都是相同的。