我是jQuery mobile的新手,我正在尝试使用jQuery mobile构建PhoneGap应用。
我对以下问题感到有些困惑。
我有一个登录对话框作为表格,我想向用户显示他们是否需要登录。我不希望他们能够离开此登录表单直到他们已登录。我已经删除了对话框中的所有链接,但硬件后退按钮仍然有效。
我尝试了以下内容:
复制代码
function onDocumentReady() {
document.addEventListener("deviceready", onDeviceReady, true);
$("#loginDialog").on("pagebeforehide",
function(event) {
event.preventDefault();
console.info('in pagebeforehide');
}
);
}
这不行。代码被调用(我添加了一个断点)但是对event.preventDefault()的调用并没有阻止导航远离页面。
提前感谢您的帮助。
答案 0 :(得分:3)
正如我在许多答案中所说,PhoneGap和Android后退按钮非常混乱。
您可以按以下方式停用Android后退按钮
$(function(){
document.addEventListener("deviceready", onDeviceReady, false);
})
// PhoneGap is loaded and it is now safe to call PhoneGap methods
function onDeviceReady() {
// Register the event listener
document.addEventListener("backbutton", onBackKeyDown, false);
}
// Handle the back button
function onBackKeyDown() {
console.log("back button not fired");
}
答案 1 :(得分:0)
preventDefault将阻止默认操作表示锚标记。如果要禁用后退按钮,请尝试以下操作:
<SCRIPT type="text/javascript">
window.history.forward();
function noBack() { window.history.forward(); }
</SCRIPT>
</HEAD>
<BODY onload="noBack();"
onpageshow="if (event.persisted) noBack();" onunload="">