使用Cordova弹出确认对话框两次

时间:2014-08-12 00:15:03

标签: javascript android jquery-mobile cordova dialog

我正在添加一个按钮,关闭我正在使用Apache Cordova即PhoneGap,android SDK和Jquery Mobile开发的应用程序,但不是立即关闭应用程序我想让应用程序显示一个确认对话框,询问用户是否他们确定他们想要离开应用程序...为了实现这一点,我添加了这个插件,通过发出以下命令提供对一些本机对话框UI元素的访问:cordova插件添加org.apache.cordova.dialogs。

所以在这种情况下我想使用以下方法:navigator.notification.confirm

我目前遇到的问题是,当我点击关闭应用程序按钮时,确认对话框弹出两次,我无法找出原因:

这是我的javascript代码:

<script type="text/javascript" src="cordova.js"></script>

     <script type="text/javascript">

    // Wait for device API libraries to load
    //
    function onLoad() {
        document.addEventListener("deviceready", onDeviceReady, false);
    }

    function exitFromApp() {
        navigator.notification.confirm(
            '¿Are you sure you want to leave the App?',
            onConfirm,
            'App Name',
            'Yes, No'
            );
    }

    function onConfirm(buttonIndex){
        if (buttonIndex === 1){
            navigator.app.exitApp();
        }

    }   

</script>

HTML:

点击确认对话框的链接:

<a href="#" onclick="exitFromApp()">Close Application</a>

非常感谢您的帮助

1 个答案:

答案 0 :(得分:0)

jQuery mobile和onclick存在一些问题。我面对它但无法解释原因。

我会建议以下方式。

将ID提供给链接

<a href="#" id="btn_close">Close Application</a>

$(document).on('click', "#btn_close",function () {

      exitFromApp();

});