如何在ONSEN-UI Phonegap中禁用android后退按钮处理程序?

时间:2015-05-13 09:57:08

标签: android cordova back-button onsen-ui

我正在ONSEN-UI中开发一个phonegap应用程序,我要在其中禁用android后退按钮处理程序。我已经尝试过Phonegap的backbutton hadler代码来禁用它。但我无法做到。还有其他办法吗?

我的代码:

 document.addEventListener('deviceready', onDeviceReady, false);

 function onDeviceReady() {

        document.addEventListener("backbutton", function (e) {
        e.preventDefault();
        }, false);
}

7 个答案:

答案 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 将此代码放在应用的createdmounted方法中。

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(那里的示例可以显示确认对话框,如果用户回答“是”,则退出应用程序)