我正在ONSEN-UI中开发一个phonegap应用程序,我要在其中禁用android后退按钮处理程序。我已经尝试过Phonegap的backbutton hadler代码来禁用它。但我无法做到。还有其他办法吗?
我的代码:
document.addEventListener('deviceready', onDeviceReady, false);
function onDeviceReady() {
document.addEventListener("backbutton", function (e) {
e.preventDefault();
}, false);
}
答案 0 :(得分:2)
Onsen UI文档中解释了这一点:http://onsen.io/reference/ons.html#methods-summary
只需使用方法ons.disableDeviceBackButtonHandler()
,它就会被禁用。您可以使用ons.enableDeviceBackButtonHandler()
重新启用它。
答案 1 :(得分:2)
这适用于onsen2 ...我在app.js中有它
ons.ready(function () {
ons.disableDeviceBackButtonHandler();
document.addEventListener('backbutton', function () {}, false);
});
答案 2 :(得分:0)
尝试将该功能留空。这对我来说非常适合。
document.addEventListener("backbutton", androidBackKey, false);
var androidBackKey = function(){
//stay empty
};
答案 3 :(得分:0)
试试这个:
function onLoad()
{
document.addEventListener("deviceready",onDeviceReady,false);
}
function onDeviceReady()
{
document.addEventListener("backbutton",noth,false);
}
function noth()
{
}
答案 4 :(得分:0)
myNavigator.getDeviceBackButtonHandler().setListener( stopButton );
function stopButton(e) {
try{
myNavigator.popPage();
}
catch (err){
// event.callParentHandler();
console.log( "Stopping...." + e);
}
}
这是由ONSEN-UI本身处理的另一个监听器,它退出了应用程序。因此,添加附加到文档的侦听器不会阻止应用程序退出。要了解它的流程,您可以查看 onsenui_all.js 以查看源代码。
答案 5 :(得分:0)
如果有人在VueJS上使用onsenUI
将此代码放在应用的created
或mounted
方法中。
this.$ons.ready(() => {
this.$ons.disableDeviceBackButtonHandler();
document.addEventListener("backbutton", e => {
e.preventDefault();
e.stopPropagation();
}, false);
});
答案 6 :(得分:0)
如果您一直在寻找我要寻找的东西,那就是禁用Android后退按钮以完全退出应用程序返回启动器,但保留整个应用程序中的后退按钮功能(以返回主菜单或关闭对话框)例如),您可以使用该方法:
ons.setDefaultDeviceBackButtonListener(function(event) {});
此方法会覆盖默认操作(如果没有其他要执行的操作,通常会执行默认操作),通常是在Cordova情况下关闭应用程序。
来源和更多示例:https://onsen.io/v2/guide/cordova.html#device-back-button(那里的示例可以显示确认对话框,如果用户回答“是”,则退出应用程序)