javascript - 电话间隙 jQuery : cannot call method confirm of undefined

标签 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): 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

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

不确定为什么会出现此错误。请帮忙。

最佳答案

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

您正在尝试在成功加载之前使用 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

关于javascript - 电话间隙 jQuery : cannot call method confirm of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14057716/

相关文章:

javascript - 控制台中出现奇怪的 javascript 错误

javascript - 德鲁巴 : Flowplayer API not loaded

jquery - 按向上和向下箭头选择 anchor 标记

jQuery(this).val() 不返回所选选项的值

javascript - Createjs为游戏创建计时器时钟

ios - ionic / Cordova : I need a new app ID

javascript - 当某些键是数字时,按对象键对数据排序不起作用

javascript - 如何将 Pyramid 的FileResponse接收到ajax中?

android - Gradle-wrapper distributionUrl不变

javascript - RxJS:使用定时间隔对大数组进行分块并将其用于渲染