我目前正在使用jQuery Mobile和PhoneGap 2.0.0的移動應用程序。 該應用程序是一個帶有不同div元素的html文件,代表應用程序的屏幕,並使用本機容器顯示使用JavaScript代碼的屏幕。PhoneGap確認回調函數
對於多種操作,我一直在使用本地警報和確認功能與用戶交互。 例如:
function customBeforeMenuItemClick(screen, menuItem) {
if (screen === "APPROVALQUEUE" && menuItem === "Close") {
return (confirm('Do you want to close without submitting changes?'));
}
}
在這裏,函數採用從確認彈出的返回,並在其他函數使用它(在其上我沒有控制)來處理關閉的動作或不應用程序。
現在我需要修改彈出窗口的標題,並想到使用Phonegap函數navigator.notification.alert並確認。但是,這些函數是異步的,並且腳本的執行繼續。
我曾嘗試使用回調方法返回正確的布爾但使用確認彈出的功能alreday執行完畢
function onConfirmClose(button){
return (button == 1);
}
function toClose(){
navigator.notification.confirm("Close?", onConfirmClose,
'Do you want to close', 'yes,no');
}
function customBeforeMenuItemClick(screen, menuItem) {
if (screen === "Start" && menuItem === "Cancel") {
toClose();
}
else {return true;}
}
在此示例代碼,彈出短暫閃爍時,應用程序是在消失之前在函數關閉()完成後關閉。
我曾嘗試使用回調函數來設置一個全局變量,該變量將用於返回彈出式窗口的結果,但它不起作用。
有沒有辦法得到navigation.notification.confirm的結果?
當'onConfirmClose'出現時''button'裏有什麼? –
按鈕是在notification.confirm上按下的按鈕的索引(即1代表「是」,2代表「否」)。 以下是來自科爾多瓦網站的文檔http://cordova.apache.org/docs/en/2.0.0/cordova_notification_notification.md.html – Khalid
是的我知道,但*在你的代碼*中,它是否到達那裏?它有什麼?那麼證明什麼不起作用總是比較容易 –