jQuery Mobile-后退(硬件)按钮在应用程序中不工作

jQuery Mobile-后退(硬件)按钮在应用程序中不工作,jquery,jquery-mobile,Jquery,Jquery Mobile,我是jQmobile的新手,一直在jQmobile站点上学习这些示例。使用多页模板格式,我试图让后退按钮工作(硬件按钮)。然而,当我在第二页上按下(硬件)后退按钮时,它只是退出应用程序,而不是返回到第一页。以下是我正在使用的示例代码: <head> <title>PhoneGap</title> <script type="text/javascript" charset="utf-8" src="phonegap-1.2.0.js">&l

我是jQmobile的新手,一直在jQmobile站点上学习这些示例。使用多页模板格式,我试图让后退按钮工作(硬件按钮)。然而,当我在第二页上按下(硬件)后退按钮时,它只是退出应用程序,而不是返回到第一页。以下是我正在使用的示例代码:

    <head>
<title>PhoneGap</title>
<script type="text/javascript" charset="utf-8" src="phonegap-1.2.0.js"></script>
<meta name="viewport" content="width=device-width,height=device-height,initial-scale=1"> 

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script>

<script type="text/javascript">
//This is your app's init method. Here's an example of how to use it
function init() {

    document.addEventListener("deviceready", onDR, false);

} 

function onDR(){
   //document.addEventListener("backbutton", backKeyDown, true);
   navigator.notification.alert("PhoneGap is working");
    //boot your app...

}

function backKeyDown() { 

    // do something here if you wish    
}



$(document).bind("mobileinit", function(){
  $.mobile.touchOverflowEnabled = true;
  $.mobile.defaultPageTransition = 'fade';
});



</script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script>
</head>

音差
//这是你的应用程序的init方法。下面是一个如何使用它的示例
函数init(){
文件。添加的监听器(“DeviceRady”,onDR,false);
} 
函数onDR(){
//document.addEventListener(“backbutton”,backKeyDown,true);
navigator.notification.alert(“PhoneGap正在工作”);
//启动你的应用程序。。。
}
函数backKeyDown(){
//如果你愿意,在这里做点什么
}
$(document).bind(“mobileinit”,function(){
$.mobile.touchOverflowEnabled=true;
$.mobile.defaultPageTransition='fade';
});


福
我是源代码顺序中的第一个,因此显示为页面。

查看名为

页脚 酒吧 我是源代码顺序中的第二个,所以当页面加载时我是隐藏的。如果点击了引用我ID的链接,我就会显示出来。

页脚

提前感谢您的回复。

您的设备可能不支持
hashchange
事件

您可以使用用于更新哈希的
hashchange
事件检查设备的兼容性:

if ("onhashchange" in window) {
  //...
}
资料来源:

从jQuery移动文档:

与单击无关的散列更改,例如当用户 单击back按钮,通过hashchange事件进行处理, 它使用Ben Alman的hashchange绑定到窗口对象 特殊事件插件(包含在jQuery Mobile中)。当哈希值发生变化时 发生hashchange事件(以及加载第一个页面时) 处理程序将location.hash发送到$.mobile.changePage()中 函数,该函数依次加载或显示引用的页面


来源:

我认为不可能改变智能手机硬件按钮的行为,特别是使用javascript。。顺便说一句。。你的javascript在哪里?您只发布了标记…Galaxy SII,并在模拟器上进行了测试。我将javascript添加到OP中。我已经添加了和javascript代码。我已经在模拟器和Galaxy SII上进行了测试,后退按钮似乎没有按照我预期的方式工作。
if ("onhashchange" in window) {
  //...
}