jQuery Mobile获取当前页面

hor*_*rin 21 javascript jquery-mobile cordova

我正在使用jQuery Mobile 1.1.1和Apache Cordova 2.0.0.当我按下后退按钮时,我希望我的应用程序退出,但仅当当前页面具有ID = feedZive时.我正在使用以下代码来执行此操作:

function onDeviceReady(){
    document.addEventListener("backbutton", onBackKeyDown, false);
    function onBackKeyDown(){
        if ($.mobile.activePage.is("#feedZive")){
            navigator.app.exitApp();
        }
        else{
            navigator.app.backHistory();
        }

    }
};
Run Code Online (Sandbox Code Playgroud)

但是看起来我无法获取当前页面,因为我尝试了以下代码:

var activePage = $.mobile.activePage;
alert(activePage);
Run Code Online (Sandbox Code Playgroud)

我的警报显示未定义.我也试图改变$.mobile.activePage,$.mobile.activePage.attr("id")但它没有奏效.

how*_*rre 46

$(document).live('pagebeforeshow', function() {
    alert($.mobile.activePage.attr('id'));
});?
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/ajD6w/5/


Hes*_*ius 18

尝试使用

var activePage = $.mobile.activePage.attr("id");
Run Code Online (Sandbox Code Playgroud)

我为你做了一个工作jsfiddle http://jsfiddle.net/Z5Uze/1/


Phi*_*ley 11

我意识到这是一个旧线程,所以这可能是一个更新的补充.

你有没有尝试过:

var activePage = $.mobile.pageContainer.pagecontainer("getActivePage");
if(activepage[0].id == yourpageid)
{ /*do something here*/ }
Run Code Online (Sandbox Code Playgroud)

或另一种方式:

var activePage = $.mobile.activePage.attr('id')
if(activepage == yourpageid)
{ /*do something here*/ }
Run Code Online (Sandbox Code Playgroud)


mor*_*ner 6

试试这个,它对我有用:

var activePage = $.mobile.activePage[0].id;
Run Code Online (Sandbox Code Playgroud)

这是一个小提琴,有一个正常工作的警报:http://jsfiddle.net/9XThY/3/