【问题标题】:Confirm dialog pops up twice using Cordova使用 Cordova 弹出两次确认对话框
【发布时间】:2014-08-12 00:15:02
【问题描述】:

我正在添加一个按钮,用于关闭我正在使用 Apache Cordova aka Phonegap、android SDK 和 Jquery Mobile 开发的应用程序,但我不是立即关闭应用程序,而是希望应用程序显示一个确认对话框,询问用户是否他们确定他们想离开应用程序...为了实现这一点,我添加了这个插件,它通过发出以下命令提供对一些本机对话框 UI 元素的访问:cordova plugin add 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>

非常感谢您的帮助

【问题讨论】:

  • 你可以尝试使用事件touchend而不是onclick并将exitFromApp()更改为exitFromApp(event)并在exitFromApp(event)函数的开头添加语句event.preventDefault();
  • 嗨弗兰克,感谢您对此的指导。你能告诉我如何在上面的代码中实现它吗?我以前从未使用过 touchend 事件。谢谢

标签: javascript android jquery-mobile cordova dialog


【解决方案1】:

jQuery mobile 和onclick 有一些问题。我遇到过,但无法解释原因。

我会建议以下方式。

给链接ID

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

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

      exitFromApp();

});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-11
    • 2016-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多