2015-04-16 54 views
3

我目前正在使用科爾多瓦3.7.1。在我的應用程序中,我無法檢測到我的jQuery腳本中的硬件返回按鈕。我嘗試這樣的: $(document).ready(function() { //registering the back button document.addEventListener("backbutton", onBackKeyDown, false); });如何檢測手機背後的安卓後退按鈕/科爾多瓦

function onBackKeyDown(e) { alert("back button pressed");//alert if the android back button is pressed }

但是,這是行不通的。我已經嘗試了所有可能

我也曾嘗試使用

appView.getUrl();

得到的MainActivity.java當前的URL,但如果我有一個div因爲這不返回DIV 的網址#page2它沒有返回網址。

它只返回http://sas.cer.org/index.html。它不是返回http://sas.cer.org/index.html#page2

我也使用jQuery的手機。

是否有任何處理Native或Jquery方面的android /硬件後退按鈕?

+0

使用移動本地事件總是喜歡。在'deviceready'事件中綁定所有移動事件是一個好習慣。 – Sareskaph

回答

3

解決辦法有兩個:

1)你需要在你的索引HTML文件,使事件和插件工作在頭節腳本標籤cordova.js。

<script type="text/javascript" charset="utf-8" src="cordova.js"></script> 

您可能無法在文件夾中看到此文件,但phonegap |當在移動設備上運行時,cordova命令會構建它。

2)將您的代碼修改爲given here. 使用特定於移動設備的事件來正常運行您的應用。

+1

我在標記中添加了cordova.js。代碼沒有工作我嘗試了這樣的事情: 'document.addEventListener('deviceready',function(event){ document.addEventListener('backbutton',function(e){//要在後退按鈕上執行的邏輯事件 警報(「回到按下」);} } ,假);?' **顯示警報,如果後退按鈕被按下** – 3Esofttech

+0

凡你在你的代碼粘貼事件 –

+0

這裏是我的代碼片段: $(document).ready(function(){ document.addEventListener('backbutton',function(e){0} {0} {0} //在後退按鈕上執行的邏輯事件 警報(「後退按鈕」); },false); }); ' – 3Esofttech

0

閱讀文檔,你有a full example there

你要監聽deviceready事件,而不是文件準備

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Back Button Example</title> 

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script> 
    <script type="text/javascript" charset="utf-8"> 

    // Wait for device API libraries to load 
    // 
    function onLoad() { 
     document.addEventListener("deviceready", onDeviceReady, false); 
    } 

    // device APIs are available 
    // 
    function onDeviceReady() { 
     // Register the event listener 
     document.addEventListener("backbutton", onBackKeyDown, false); 
    } 

    // Handle the back button 
    // 
    function onBackKeyDown() { 
    } 

    </script> 
    </head> 
    <body onload="onLoad()"> 
    </body> 
</html> 
+0

我正在處理本機端本身的後退按鈕事件。我沒有使用OnBackKeyDown()。 – 3Esofttech

+0

我剛剛檢查了上面的代碼,它沒有工作。 – 3Esofttech

+0

發佈無效的完整示例(index.html) – jcesarmobile

相關問題