2015-11-22 3 views
0

У меня есть приложение phonegap/jquerymobile, которое, похоже, не может работать с pagecontainer #change. Я пробовал самый современный синтаксис, который мог найти, но, похоже, что-то не хватает.pagecontainer #change - JqueryMobile - Phonegap

function goToCards() { 
 
    console.log('got to goToCards'); 
 
    $(':mobile-pagecontainer').pagecontainer('change', '#cardsPage'); 
 
}
<!DOCTYPE html> 
 
<html> 
 
    <head> 
 
    <meta charset="utf-8" /> 
 
    <meta name="format-detection" content="telephone=no" /> 
 
    <meta name="msapplication-tap-highlight" content="no" /> 
 
    <!-- WARNING: for iOS 7, remove the width=device-width and height=device-height attributes. See https://issues.apache.org/jira/browse/CB-4323 --> 
 
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" /> 
 
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" /> 
 
    <link rel="stylesheet" type="text/css" href="css/index.css" /> 
 
    <title>BibHub Mobile</title> 
 
    </head> 
 
    <body> 
 
    <div class="app" data-role="page" id="loginPage"> 
 
     <div data-role="header"> 
 
     <h1>Biphub</h1> 
 
     </div> 
 
     <div data-role="content"> 
 
     <a href="#" data-role="button" onclick="goToCards()"> go to cards</a> 
 
     </div> 
 
    </div> 
 
    <div class="app" data-role="page" id="cardsPage"> 
 
     <div data-role="header"> 
 
     <h1>Biphub</h1> 
 
     <h2>Your UID is <span id="uidSpan"></span></h2> 
 
     </div> 
 
     <div data-role="content"> 
 
     <p>Your card stack is currently empty. Way to go!</p> 
 
     </div> 
 
    </div> 
 

 
    <script type="text/javascript" src="cordova.js"></script> 
 
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script> 
 
    <script type="text/javascript" src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script> 
 
    <script type="text/javascript" src="js/index.js"></script> 
 
    <script type="text/javascript"> 
 
     app.initialize(); 
 
    </script> 
 
    </body> 
 
</html>

Когда я запустить приложение в Xcode я успешно войти »получил goToCards. Однако нет изменений страницы или каких-либо ошибок. Нормальная функция не-js-функции работает для перехода на страницу. Есть идеи?

+0

http://www.technicaladvices.com/2015/11/16/ios-9-cordova-and-jquery-mobile-apps-integration -tips/ – jcesarmobile

+0

'Самый современный синтаксис', но не' самый обновленный плагин'. Ваш jquery mobile 1.0, слишком старый ... –

+0

Ответ @ezanker должен быть правильным ответом –

ответ

1

Виджет pagecontainer и его методы были представлены в jQuery Mobile версии 1.4. Кажется, вы используете действительно старую версию (1.0). Можете ли вы обновить версии jQuery и jQuery Mobile?

Если нет, то вам нужно использовать $.mobile.changePage: API DOC

+0

Спасибо, сэр. Я новичок в jquery mobile и, должно быть, скопировал его из старого бита исходного кода. Он работает сейчас. – AdamCooper86

Смежные вопросы