我正在使用PhoneGap 1.5.0,jQuery 1.7.1和jQuery mobile 1.0.1,并尝试覆盖Android中的后退按钮,如此处或此处所述.
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap loaded
function onDeviceReady() {
console.log("PhoneGap Ready!");
// waiting for button
document.addEventListener("backbutton", handleBackButton, false);
}
// handle the back button
function handleBackButton() {
console.log("Back Button Pressed!");
navigator.app.exitApp();
}
Run Code Online (Sandbox Code Playgroud)
但它只适用于我的应用程序的第一页.更改为不同的页面后,后退按钮什么都不做.该应用程序包含这样的tabview:
<body>
<div data-role="page" id="pilotTab">
<div data-role="header">
<h1>Pilot</h1>
</div>
<div data-role="content" id="pilotContent">
content be here ;)
</div>
<div data-role="footer" data-position="fixed">
<div data-role="navbar">
<ul>
<li><a href="pilotTab.html" data-transition="none">Lotse</a>
</li>
<li><a href="bookingTab.html" data-transition="none">Verkehr</a>
</li>
<li><a href="mainListTab.html" data-transition="none">Bört</a>
</li>
</ul>
</div>
<!-- /navbar …Run Code Online (Sandbox Code Playgroud) 在我的应用程序中我使用phonegap 2.6.对于后退按钮,我使用以下功能
document.addEventListener("backbutton", onBackKeyDown, false);
function onBackKeyDown() {
alert("hello");
navigator.app.backHistory();
}
document.addEventListener('deviceready', onDeviceReady, true);
Run Code Online (Sandbox Code Playgroud)
单击设备的硬件后退按钮时,上述功能正常.但是,当我点击后退按钮时,它无法正常工作.
我设计了我的后退按钮如下:
<a class="ui-link" href="#" rel="external" onclick="onBackKeyDown()">
<img src="images/icon-back.png" alt="Phone" border="0">
</a>
Run Code Online (Sandbox Code Playgroud)
但是这个按钮工作正常navigator.app.exitApp();(应用程序退出).
//Working Fine
function onBackKeyDown() {
navigator.app.exitApp();
}
//Not Working
function onBackKeyDown() {
navigator.app.backHistory();
}
Run Code Online (Sandbox Code Playgroud)
但不是为了工作navigator.app.backHistory();.