我正在使用phonegap和jQuery Mobile构建一个android应用程序。

根据phonegap文档,首先需要启动设备就绪功能。

我不知道为什么

$(document).on("pageshow", "#keeperList", function(){
listAllKeepers();
});

首先射击。

我无法发布整个代码,因为它太多了。
 <script type="text/javascript" src="js/cordova.js"></script>
 <script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
 <script type="text/javascript" src="js/jquery.mobile-1.3.1.js"></script>
 <script type="text/javascript" src="js/db.js"></script>
 <script type="text/javascript">

 var db;
 document.addEventListener("deviceready", onDeviceReady, false);

 function onDeviceReady() {
 alert("PhoneGap is ready!");
 db = window.openDatabase("rentManag", "3.7.11", "Rent Manag", 100000000);
 db.transaction(createTable, errorCB, successCB);
 }
 $(document).on('pageshow', "#keeperList", function () {
 listAllKeepers();
 });
 </script>

最佳答案

如果将phonegap与JQuery Mobile结合使用,则必须等待JQuery Mobile“pagecreate”和Phonegap“deviceready”事件。这样可确保正确加载两个框架。这是您的操作方式:

var jqmReady = $.Deferred();
var pgReady = $.Deferred();

// jqm ready
$(document).bind("pagecreate", jqmReady.resolve);

// phonegap ready
document.addEventListener("deviceready", pgReady.resolve, false);
$(document).on('pagecreate',function(event,data)
                 {


                 });
// all ready :)
$.when(jqmReady, pgReady).then(function () {
          listAllKeepers();
                               });

09-30 16:41
查看更多