有时候需要处理返回按钮事件,左上角的可以取消 ‘mui-action-back’这个class,但物理返回按钮就要复杂些。
经过查看源码,我总结出以下方式:
mui.init({
keyEventBind: {
backbutton: false //很关键
}
});
var page_can_close = false;
mui.plusReady(function() {
//要延迟一下
setTimeout(function() {
plus.key.addEventListener("backbutton", function() {
mui.closePopup();
//用法1 需要处理一下事情
if(!page_can_close) { //判断是否可以返回,比如有时候页面中有弹出窗,点击返回要关闭弹出框。//大多数mui系列弹出层都会智能处理返回事件
plus.nativeUI.showWaiting('关闭窗口....');
setTimeout(function() {
page_can_close = true;
plus.nativeUI.closeWaiting();
}, 1000);
return;
}
//用法2需要确定关闭的
mui.confirm('退出当前页面?', '', ['取消', '退出'], function(e) {
if(e.index == 1) {
setTimeout(function() {
mui.back(); //用此方法要延迟一下
}, 10);
//plus.webview.currentWebview().close();//不用延迟
}
}, 'div');
}, false);
}, 10);
});
2 个评论
要回复文章请先登录或注册
1***@qq.com
i***@163.com (作者)