1

我的 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;
        }

是整个页面。谢谢!

4

1 回答 1

0

问题可能是您在触发 onBackKeyDown() 函数时覆盖了默认的后退按钮行为。不管 dispatch() 函数有什么问题,尝试在 onBackKeyDown() 函数中添加这一行。

document.removeEventListener("backbutton", onBackKeyDown, false);

它恢复了应用程序的默认后退按钮行为。

于 2012-09-24T06:47:56.627 回答