2012-12-27 21 views
1

我正在使用jQuery mobile創建一個基於phonegap的簡單應用程序。Phonegap jQuery:不能調用undefined的方法確認

這裏是我的HTML

<script src="scripts/jquery-1.8.2.min.js"></script> 
<script src="scripts/jquery.mobile-1.1.1.min.js"></script> 
<script src="scripts/jquery.jsonp-2.4.0.min.js"></script> 
<script type="text/javascript" charset="utf-8" src="scripts/cordova-2.2.0.js"></script> 
<script src="scripts/my.js"></script> 

的報頭後,我所有的HTML代碼,我已經加入

<script> 
$(document).ready(function() { 
navigator.notification.confirm('Do you want to quit', 
     function(){ 
      if(button == "1"){ 
       navigator.app.exitApp(); } 
     }, 
     'QUIT TITLE', 
     'OK,Cancel' 
    ); 
</script> 

我得到的錯誤

12-27 21:28:17.998: D/CordovaLog(17212): Uncaught TypeError: Cannot call method 'confirm' of undefined 12-27 21:28:17.998: D/CordovaLog(17212): file:///android_asset/www/app.html: Line 227 : Uncaught TypeError: Cannot call method 'confirm' of undefined

,你可以在體請參閱我已經加載了所有必要的腳本,並且我打電話給內的

不知道爲什麼我得到這個錯誤。請幫忙。

+0

你打它時,[設備準備就緒(HTTP://docs.phonegap .com/en/2.2.0/cordova_events_events.md.html#deviceready)? – freejosh

回答

4

首先你的腳本標籤內的代碼沒有正確關閉。

您正試圖在成功加載之前使用Phonegap庫。 $(文件)。就緒(函數(){不應與jQuery Mobile的使用(你會發現更多有關這在底部鏈接),也不是它會告訴你,如果PhoneGap的庫被加載。

您的代碼應該初始化是這樣的:

document.addEventListener("deviceReady", deviceReady, false); 

function deviceReady() { 
    navigator.notification.confirm('Do you want to quit', 
     function(){ 
      if(button == "1"){ 
       navigator.app.exitApp(); 
      } 
     }, 
     'QUIT TITLE', 
     'OK,Cancel' 
    ); 
} 

你可以找到更多關於這個在這裏:https://stackoverflow.com/a/14010308/1848600這裏:http://docs.phonegap.com/en/1.0.0/phonegap_events_events.md.html

+0

謝謝,這有幫助 – Rajesh