【问题标题】:Phonegap jQuery: cannot call method confirm of undefinedPhonegap jQuery:无法调用未定义的方法确认
【发布时间】:2012-12-27 16:18:23
【问题描述】:

我正在使用 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):未捕获类型错误:不能 调用未定义 12-27 21:28:17.998 的方法“确认”: D/CordovaLog(17212):文件:///android_asset/www/app.html:第 227 行: 未捕获的类型错误:无法调用未定义的方法“确认”

如您所见,我已经加载了所有必要的脚本,并且我在 $(document).ready 中调用了 navigator.notification.confirm

不知道为什么我会收到此错误。请帮忙。

【问题讨论】:

标签: javascript jquery cordova jquery-mobile


【解决方案1】:

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

在成功加载之前,您正在尝试使用 Phonegap 库。 $(document).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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-06
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    相关资源
    最近更新 更多