后退按钮拦截永远- Phonegap/Android
Back Button intercepted for ever - Phonegap/Android
在我的Android phonegap/Cordova 3.5项目,我有3个html页面(一个按钮在index.html调用page2.html那里有另一个按钮调用page3.html)。
在page2.html我重写backbutton在deviceReady:
document.addEventListener("backbutton", onBackKeyDown, false);
然后function onBackKeyDown() {
console.log("onBackKeyDown");
navigator.app.exitApp();
}
但在page3.html我想让Android控制后退按钮,所以我不覆盖它在page3.html。相反,在page3.html中,backbutton被禁用。
问题:
- 这是预期的行为吗(重写一个意味着重写for曾经)吗?
- 如何摆脱这个?(离开控制的后退按钮Android随时随地我想)
你可以在OnBackKeyDown事件中检查页面:
function onBackKeyDown() {
var pagename = // get the page name here
if ( pagename == page3.html ) {
history.back();
}
else {
navigator.app.exitApp();
}
}
您可以根据每个页面后退按钮行为。示例如下:
function onBackKeyDown(e) {
if ($.mobile.activePage[0].id == "home"
|| $.mobile.activePage[0].id == "login") {
e.preventDefault();
navigator.app.exitApp();
}else if($.mobile.activePage[0].id == "inspection"){
e.preventDefault();
back();
//return false;
}else if($.mobile.activePage[0].id == "noDetails"){
e.preventDefault();
$.mobile.changePage("home.html");
return false;
}else{
navigator.app.backHistory();
}
}
我正在使用jQuery Mobile-提供更多的控制页面过渡
这个问题的真正解决方案可能是用这个API删除事件:
document.removeEventListener("backbutton", onBackKeyDown, false);
I found it here
相关文章:
- onLoad function phonegap android
- GCM推送通知,如果应用程序在手机中关闭(Phonegap Android)
- Phonegap-Android 4.4-html5音频长度错误(javascript和媒体插件)
- phonegap Android中的pdf查看器
- 科尔多瓦 PhoneGap Android 回调与数据
- Phonegap (Android) - 数据库更改版本不起作用
- 访问设备'Phonegap Android中的本地日历
- 在phonegap android中上传多个文件时,使用jquery ui显示进度条
- 正在将数据URL(base64)保存到PhoneGap(android)上的文件中
- 如何在phonegap(android)中设置facebook好友生日提醒
- 如何隐藏PhoneGap Android SplashScreen
- 读取phonegap android应用程序中的本地文件
- 如何使我的phonegap android应用程序崩溃
- 阻止 YouTube API 在 PhoneGap Android 上全屏显示
- Phonegap Android Geolocation watch位置超时
- PhoneGap Android后退按钮需要按两次
- Phonegap android 向其他应用程序用户发送通知
- “在线”事件 Phonegap Android 未能在 StateChange 上开火
- Phonegap Android项目适用于模拟器,而不是实际的手机
- Phonegap Android 在输入焦点 Javascript 上显示键盘