5

Onsen 中的默认设置是当按下设备后退按钮时应用程序关闭/退出。有什么方法可以控制 Onsen 中的内容以模仿 ons-navigator 操作/页面历史记录?

谢谢!

4

3 回答 3

8

在 PhoneGap/Cordova 的情况下,按下后退按钮时会触发后退按钮事件。因此,您可以设置事件处理程序 st

document.addEventListener("backbutton", onBackKeyDown, false);

在eventhandler函数中,可以通过获取navigator作用域st调用navigator的popPage方法

function onBackKeyDown() {
    // Handle the back button
    alert("Backbutton is pressed!");
    var element = document.querySelector( ".navigator-container");
    var scope = angular.element( element ).scope();
    scope.popPage();
}

如果您使用基于 Cordova 的混合应用程序框架 Monaca,则不会触发后退按钮事件。相反,您可以使用定义 Backbutton 事件的 .ui 文件

{
    "event" : {
        "onTapBackButton" : "onBackKeyDown();"
    }
}
于 2014-06-05T02:29:15.123 回答
2

无需处理后退按钮事件以防止应用程序被杀死。Onsen-ui 从 v1.1.1 开始支持 ons-navigator 和 ons-sliding-menu 上的 android 后退按钮。

你可以在这里查看

于 2014-11-12T06:57:17.857 回答
2

您可以在ons.ready事件之后使用“ disableDeviceBackButtonHandler ”对其进行控制。之后为后退按钮添加一个事件监听器并做任何你想做的事情。

ons.ready(function() {
  ons.disableDeviceBackButtonHandler();

  // Use Cordova handler
  window.document.addEventListener('backbutton', function() {
    // Handle backbutton event
  }, false);
});

只需查看这篇文章:https ://onsen.io/guide/overview.html#HandlingBackButton

于 2016-02-19T13:08:21.367 回答