-2

我正在开发一个phonegap android应用程序,我最初使用它禁用了设备的后退按钮,它的工作

document.addEventListener("backbutton", onBackKey, false);

function onBackKey(){

}

但是,当我单击我的应用程序中的按钮转到 facebook 登录页面时,我希望启用后退按钮。我试图删除事件侦听器,但它没有用

funtion f_click(url, width, height){
   document.removeEventListener("backbutton", onBackKey, false);  
   //some link to start facebook
}

我也用过

document.removeEventListener("backbutton", function(e) { e.preventDefault(); }, false);  

但我每次都收到这个错误,cordova is not defined. 为什么?

4

1 回答 1

1

不要忘记调用“ deviceready ”事件。

来自 phonegap 文档:

这是每个 Cordova 应用程序都应该使用的非常重要的事件。

Cordova 由两个代码库组成:native 和 JavaScript。在加载本机代码时,会显示自定义加载图像。但是,只有在 DOM 加载后才会加载 JavaScript。这意味着您的 Web 应用程序可能会在加载之前调用 Cordova JavaScript 函数。

一旦 Cordova 完全加载,就会触发 Cordova deviceready 事件。设备启动后,您可以安全地调用 Cordova 函数。

尝试这样的事情:

var deviceReady = false;

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady()
{
    deviceReady = true;
}

function f_click(url, width, height)
{
    if(deviceReady)
    {
        document.removeEventListener("backbutton", onBackKey, false);
        //...
    }
}
于 2013-06-17T12:18:56.500 回答