【发布时间】: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