[英]Over-ride the back button of android device through phonegap in javascript
我正在使用HTML5和javascript制作应用程序并在Android设备上部署。 在申请中确认后,我不希望它回到上一页。 但是,在设备的后退按钮上,它会在前一页上显示。
我尝试了很多演示。 以下是我试过的链接之一。 http://docs.phonegap.com/en/2.8.0/cordova_events_events.md.html#backbutton
我试着为演示目的显示警报。 但它不起作用。
请帮助您的建议。 谢谢。
我尝试了以下内容。 它不起作用。 我是否需要添加任何外部jquery文件?
<script type="text/javascript" charset="utf-8">
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
alert("On Load");
}
function onDeviceReady() {
document.addEventListener("backbutton", onBackKeyDown, false);
alert("Device Ready");
}
//document.addEventListener('backbutton', onBackKeyDown, false);
function onBackKeyDown(event) {
event.preventDefault();
alert("back pressed");
}
</script>
防止后退按钮默认行为的正确方法是添加prevent default方法:
document.addEventListener('backbutton', onBackKeyDown, false);
function onBackKeyDown(event) {
// Handle the back button
event.preventDefault();
alert('I am a demo purpose alert thingy');
}
看看你传递的第三个参数。 它指示侦听器是使用捕获还是冒泡。 您可在此处找到更多信息。
您希望在开始(捕获)而不是在结尾(气泡)捕获后退按钮事件。
所以试试吧
document.addEventListener("backbutton", onBackKeyDown, true);
代替
document.addEventListener('backbutton', onBackKeyDown, false);
这是我使用if else设备后退按钮的示例
//device back button functions
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
document.addEventListener("backbutton", onBackKeyDown, false);
}
function onBackKeyDown() {
if($state.current.name == 'home'){
// e.preventDefault();
navigator.app.exitApp();
} else {
$state.go('home');
e.preventDefault();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.