2015-04-16 51 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

相关问题