2012-02-02 52 views
2

我正在开发多页JqueryMobile(1.0)应用程序并使用Phonegap(1.3)提供WebView。我一直通过stackoverflow和网页代码来处理黑莓硬件后退按钮。Phonegap/JqueryMobile上的黑莓硬件后退按钮的行为不一致

我在jquerymobile加载前设置了mobile.pushStateEnabled = false。 我还设置具有以下功能

<feature id="blackberry.system" required="true" version="1.0.0.0" /> 

我试图把下面的代码在不同的地方config.xml文件。在标题/正文/所有页面中,但我仍然会出现不一致的行为。 Phonegap正在初始化,我甚至尝试将它放入手机后初始化,但似乎没有任何工作。我甚至尝试通过将所有页面放在同一个文件中的单个html文件(jQuery Mobile)。该应用程序要么退出,要么在某些情况下完全不响应,并且在极少数情况下会按预期行事。

<script> 
blackberry.system.event.onHardwareKey(blackberry.system.event.KEY_BACK, 
function() { 
    history.back(); 
    return false; 
}); 
</script> 

我使用的是黑莓9780(OS版本6..0)部署和也使用jQuery移动(1.01)和PhoneGap的(1.4)的最新版本试了一下。 任何指针将不胜感激。

回答

1

试试这个

function onLoad() { 
    document.addEventListener("deviceready", onDeviceReady, false); 
} 

// PhoneGap is loaded and it is now safe to make calls PhoneGap methods 
// 
function onDeviceReady() { 
    // Register the event listener 

document.addEventListener("backbutton", onBackKeyDown, false); 
} 


function onBackKeyDown() { 

history.back(); 
return false; 
     } 
</script> 

不要忘记在你的onReady

+0

都能跟得上:(仍不一致我试图从pageinit加载它,以及还试图window.history.back(),以及感谢您指出了这一点,我。。。我现在放弃了这一点。与黑莓打交道相当令人沮丧。 – 2012-02-03 15:29:10

相关问题