0

我有一个索引页和该索引页上的许多按钮。单击这些按钮页面将转到其他页面。我有这个代码index.htlm

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

function onLoad() {
    document.addEventListener("deviceready", onDeviceReady, false);
}
function onDeviceReady() {
    document.addEventListener("backbutton", onBackKeyDown, false);
}
function onBackKeyDown() {
    alert("Are you sure !!")
}

<body onLoad="onLoad()"> </body>

所以当我在索引页的时候,后退按钮应该只给出那个警报。我对此没有任何问题,警报显示正确,但其他页面也禁用了后退按钮。

4

4 回答 4

1

您没有在函数中检查页面,因此它对每个页面的反应相同。尝试这个:

function onBackKeyDown() {
    if($.mobile.activePage.is('#homepage')){
       e.preventDefault();
       alert("Are you sure !!");
   }
   else {
       navigator.app.backHistory()
   }
}
于 2012-09-12T09:37:42.233 回答
1

尝试将您的脚本放在页面 div 中。这可能会有所帮助。

于 2012-09-12T08:53:10.990 回答
1
  1. 下载更新的cordova-2.0.0.js
  2. 将它放在你的根目录中(在 index.html 旁边)
  3. 将其加载到您的<head>部分
<head>
     <script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js">
     <!-- Other JS files .... -->
</head>
于 2012-09-14T07:22:55.687 回答
0

尝试在警报后添加:

document.removeEventListener("backbutton", onBackKeyDown, false);
于 2012-12-18T11:58:51.143 回答