Phonegap jQuery:无法调用undefined的方法确认

时间:2012-12-27 16:18:24

标签: javascript jquery cordova jquery-mobile

我正在使用jQuery mobile创建一个简单的基于phonegap的应用程序。

这是我的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):未捕获TypeError:不能   调用方法'确认'未定义12-27 21:28:17.998:   D / CordovaLog(17212):file:///android_asset/www/app.html:第227行:   未捕获的TypeError:无法调用未定义的方法'confirm'

正如您所看到的,我已加载了所有必需的脚本,而我在navigator.notification.confirm内调用了$(document).ready

不确定我为什么会收到此错误。请帮忙。

1 个答案:

答案 0 :(得分:4)

首先,脚本标记内的代码未正确关闭。

您正在尝试在成功加载之前使用Phonegap库。 $(文档).ready(function(){ 不应该与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