我正在爲Cordova/PhoneGap開發Android的第一款AngularJS移動應用程序。我在腳本文件中添加了下面的代碼,但是我無法捕獲backbutton事件。以下是我在我的scripts.js中:AngularJS與科爾多瓦/ PhoneGap無法工作的移動Backbutton
var app = angular.module('QFA', []);
app.controller('QFAinit', function($scope, $window) {
document.addEventListener("deviceready", onDeviceReady(), false);
function onDeviceReady() {
$window.alert("Device Ready-1");
document.addEventListener("backbutton", onBackKeyDown, false);
$window.alert("Device Ready-2");
function onBackKeyDown() {
$window.alert("Inside onBackKeyDown1");
}
}
});
我打電話來此如下:
<body ng-controller="QFAinit">
當我運行的應用程序我得到「設備就緒-1」和「設備Ready-2「警報。這意味着設備準備好的事件正在被正確觸發,並且還嘗試了按鈕。但是,當我按下後退按鈕時,沒有任何事情發生,而是執行默認行爲,即App退出。
另一方面,如果我用eventlistener命令上的onBackKeyDown()替換onBackKeyDown,那麼當應用程序被加載時,緊接在上述兩個警報之後,我會得到「Inside onBackKeyDown1」警報。但是一旦應用程序被加載,那麼後退功能就不存在了。
有人可以請建議如何使其工作。
非常感謝!
===============更新=================
我已經意識到我需要包括科爾多瓦.js陷阱後臺!一旦我補充說明,後退按鈕確實被困住了。然而,由於該結果我得到一個破碎的應用程序,如下圖所示:
我自己也嘗試從2.1改變的jQuery版本1.11,1.10和1.4.5但沒有任何影響。事實上,即使我刪除了JQuery,我仍然得到了破壞的界面。
方括號是否始終顯示或僅當您按下後退按鈕時?在你的控制檯中有錯誤,我建議你將安裝Eclipse從logcat讀取,這樣你就可以知道你的應用程序出了什麼問題。 – Ricconnect 2015-02-11 07:37:03
他們總是顯示,如果我添加cordova.js。當cordova.js被移除時,它們會消失。 Eclipse .....另一個學習練習:-( – Anjum 2015-02-11 07:41:45