【发布时间】:2014-06-04 15:27:03
【问题描述】:
Onsen 中的默认设置是当按下设备后退按钮时应用程序关闭/退出。有什么方法可以控制 Onsen 中的它也模仿 ons-navigator 操作/页面历史记录?
谢谢!
【问题讨论】:
标签: onsen-ui
Onsen 中的默认设置是当按下设备后退按钮时应用程序关闭/退出。有什么方法可以控制 Onsen 中的它也模仿 ons-navigator 操作/页面历史记录?
谢谢!
【问题讨论】:
标签: onsen-ui
在 PhoneGap/Cordova 的情况下,按下后退按钮时会触发后退按钮事件。 因此,您可以设置事件处理程序 s.t.
document.addEventListener("backbutton", onBackKeyDown, false);
在eventhandler函数中,可以通过获取navigator作用域s.t.来调用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();
}
如果你使用的是 Monaca,基于 Cordova 的混合应用框架,后退按钮事件 没有被解雇。相反,您可以使用定义 Backbutton 事件的 .ui 文件。
{
"event" : {
"onTapBackButton" : "onBackKeyDown();"
}
}
【讨论】:
无需处理后退按钮事件以防止应用程序被杀死。 Onsen-ui 从 v1.1.1 开始支持 ons-navigator 和 ons-sliding-menu 上的 android 后退按钮。
您可以查看here
【讨论】:
您可以在 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
【讨论】: