我正在使用phonegap / cordova在javascript和html中编写应用程序。 我在javascript中有这个代码:
$('#diario_delete_btn').live('tap',function(e){
var iddb = $(this).find('a').attr('rel');
confirm_diario_delete(iddb);
});
function diario_delete(iddb) {
var db = window.openDatabase("Database", "1.0", "123nozze", 200000);
db.transaction(function(tx){
tx.executeSql('DELETE FROM AgendaItemJDO WHERE id='+iddb);
lastChangeUpdate();
});
$('.diario_row[db_id="'+ iddb +'"]').remove();
$('#popupMenuDiario').popup("close");
}
function confirm_diario_delete(iddb) {
var r = confirm("Confermi l'eliminazione dell'elemento?");
if(r == true) {
diario_delete(iddb);
} else {
$('#popupMenuDiario').popup("close");
}
}
好像可以工作但是如果在按下“确认按钮”之前选择“取消按钮”(所以r =假)n次,则新的时间确认对话框被显示2次,nex时间显示3次,并且等等。我不知道为什么会有这种行为。 同样如果更改代码,我使用cordova的示例代码进行确认对话。 关于什么是问题以及如何解决它的任何想法? 谢谢!
答案 0 :(得分:3)
您应该使用Phonegap支持的原生notification。
特别是.confirm()方法来自上面的链接;
// process the confirmation dialog result
function onConfirm(button) {
alert('You selected button ' + button);
}
// Show a custom confirmation dialog
//
navigator.notification.confirm(
'You are the winner!', // message
onConfirm, // callback to invoke with index of button pressed
'Game Over', // title
'Restart,Exit' // buttonLabels
);
答案 1 :(得分:2)
navigator.notification.confirm(
'Are you sure you want to signup ', // message
onConfirm, // callback to invoke with index of button pressed
'SignUp', // title
['yes','no'] // buttonLabels
);
function onConfirm(buttonIndex){
alert('You selected button ' + buttonIndex);
if(buttonIndex==2){
alert('You selected button - no');
}else{
alert('You selected button - yes');
}
}