2012-02-02 61 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