我正在为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