-3

PhoneGap我为 Android 的后退按钮( 2.2.0)创建了以下事件:

document.addEventListener("backbutton", function (e) {
    //Do Something
}, false);

我有以下链接,可将我从应用程序带到外部站点

我的链接

我覆盖了后退按钮事件,一旦我在应用程序内部传递到另一个链接,该事件就不会被取消..并且由于另一个链接不知道科尔多瓦,他甚至无法访问这个事件。

所以我必须完全取消它!

我是怎么做到的……?

当我按下后退按钮时,我在日志中收到以下错误消息:

Uncaught ReferenceError: cordova is not defined at :1

什么都没有发生..

4

2 回答 2

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>

请在下面的链接中找到详细答案

https://gist.github.com/955496

于 2013-01-17T10:12:14.573 回答
1

你可以实现它

boolean toRun = true;

document.addEventListener("backbutton", function (e) {
    if (toRun)    
    {
        //Do Something
        toRun = false;
    }
});

根据您的需要设置布尔值。并检查,如果它是第一次,执行代码。否则什么都不做。

希望能帮助到你。

于 2013-01-17T09:33:05.693 回答