我正在开发一个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
。为什么呢?
答案 0 :(得分:1)
不要忘记调用“ deviceready ”事件。
来自phonegap doc:
每个Cordova应用程序都应该这是一个非常重要的事件 使用
Cordova由两个代码库组成:native和JavaScript。虽然 正在加载本机代码,显示自定义加载图像。然而, 只有在DOM加载后才会加载JavaScript。这意味着您的网站 应用程序可能会调用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);
//...
}
}