我的phonegap应用程序基本上有两个“页面”,实际上只是一个div,其内容由innerHTML更改。后退键用于在“主页”(div id = num
)上按下时退出应用程序,并在第二页(div id = readout
)上按下时返回主页,复制正常的android习惯。我定义了一个布尔值home
来跟踪它所在的页面并使onBackKeyDown()
执行不同的操作:
function onBackKeyDown() {
if(home==true){
navigator.notification.alert(
'Bye!', // message
'Quitting', // title
'oops')
navigator.app.exitApp();
}
else {
resetAll();}
}
然而,readout
页面上的后退键行为正在发生变化,具体取决于特定功能dispatch()
是否已运行。如果尚未运行,后退键将立即退出应用程序(不会触发onBackKeyDown()
,因为当该功能退出应用程序时我添加了额外警报)
dispatch()
似乎与home
或后退密钥没有任何关系,所以我不知道问题是什么。当我在萤火虫中尝试时,home
似乎一直都是正确的。这是dispatch
:
function dispatch()
{
navigator.notification.vibrate(50);
d= new Date();
times[i]=d.getTime();
if(i==0)
{
document.getElementById('output').innerHTML = 'Calculating...';
document.getElementById('avDisTime').innerHTML ='Calculating...';
}
else
{
var avTime=getAverageTime(times);
var throughput=passengers*3600000/avTime;
document.getElementById('output').innerHTML = throughput.toFixed(0) + ' pph';
document.getElementById('avDisTime').innerHTML =(avTime/1000).toFixed(0)+' seconds';
}
return false;
}
答案 0 :(得分:0)
问题可能是你在触发onBackKeyDown()函数时覆盖默认的后退按钮行为。无论dispatch()函数有什么问题,请尝试在onBackKeyDown()函数中添加此行。
document.removeEventListener("backbutton", onBackKeyDown, false);
它恢复应用程序的默认后退按钮行为。