我在Android的后退按钮(PhoneGap
2.2.0)中创建了以下事件:
document.addEventListener("backbutton", function (e) {
//Do Something
}, false);
我有以下链接将我带到应用程序的外部网站
我的链接
我覆盖了后退按钮事件,一旦我将应用程序内部传递到另一个链接,事件就不会被取消..而且由于另一个链接不知道cordova,他甚至无法访问此事件。
所以我必须完全取消它!
我是怎么做的??
当我按下后退按钮时,我在日志中收到以下错误消息:
Uncaught ReferenceError: cordova is not defined at :1
没有任何反应..
答案 0 :(得分:2)
function onBackKey() {
console.log("I've caught a back key");
// We are going back to home so remove the event listener
// so the default back key behaviour will take over
document.removeEventListener("backbutton", onBackKey, false);
// Hide the current dive and show home
document.getElementById(cur).style.display = 'none';
document.getElementById('home').style.display = 'block';
cur = 'home';
}
function goToDiv(id) {
// We are moving to a new div so over ride the back button
// so when a users presses back it will show the home div
document.addEventListener("backbutton", onBackKey, false);
// Hide home and show the new div
document.getElementById('home').style.display = 'none';
document.getElementById(id).style.display = 'block';
cur = id;
}
放置html标签
<div id="home">Back Button Home<br/><a href="javascript:goToDiv('div1')">Div One</a><br/><a href="javascript:goToDiv('div2')">Div Two</a></div>
请在下面找到详细解答的链接
答案 1 :(得分:1)
你可以实现它
boolean toRun = true;
document.addEventListener("backbutton", function (e) {
if (toRun)
{
//Do Something
toRun = false;
}
});
根据需要设置布尔值。并检查,如果它的第一次,执行代码。否则什么都不做。
希望它有所帮助。