2***@qq.com
2***@qq.com
  • 发布:2017-09-29 22:29
  • 更新:2019-01-14 14:04
  • 阅读:2408

安卓手机实体返回键监听

分类:MUI

有2个页面,第一个页面是A,第二个页面是B,点击A页面的一部分,跳到B页面。在B页面点击实体返回键或者点击B页面左上角的返回按钮,会返回到A页面。

B页面中有一个icon,点击icon会有弹框C,需求是:在B页面点击实体返回键让弹框退出。

我用的方法是:重写了mui.back=function() {},判断如果弹框有内容,就让弹框隐藏,否则直接返回。但是现在有一个缺点就是: 点击实体返回键可以隐藏弹框,但是再点击一次实体返回键,就是返回不到A页面,这个怎么处理?
我写的代码如下:

var old_back = mui.back;
mui.back = function() {
if (弹框有内容) {
弹框隐藏
} else {
mui.currentWebview.opener().show();
old_back();
}
}

2017-09-29 22:29 负责人:无 分享
已邀请:
3***@qq.com

3***@qq.com

mui.back = function() {
if (弹框有内容) {
弹框隐藏
} else {
plus.webview.currentWebview.close();
old_back();
}
}

2***@qq.com

2***@qq.com (作者) - 做自己

这个我做出来了。
var old_back = mui.back;

mui.back = function() {

if (弹框有内容) {  
    弹框隐藏  
    setTimeout(function() {  
      mui.currentWebview.opener().show();  
      old_back();  
},500);   //500ms设置是为了效果。  

} else {  

   mui.currentWebview.opener().show();  

   old_back();  

 }  

}

2***@qq.com

2***@qq.com (作者) - 做自己

老板的要求是:在B页面点击弹框,按实体返回键退出,再按一次实体返回键到A页面。麻烦大家如果谁有好的办法可以说下,谢谢!

  • 王者地带

    你不是写对了吗

    mui.back = function()

    {


    if (弹框弹出)

    {


    弹框隐藏


    }

    else

    {


    //否则返回到A页

    }


    }

    2017-09-30 12:47

  • 2***@qq.com (作者)

    我这个不对,弹框弹出时,点击安卓实体返回键,退出弹框,但是再次点击安卓实体返回键,就会点不动

    2017-10-10 16:48

t***@qq.com

t***@qq.com

以上我看到的是 muii集成的 mui.back重置实现 按钮返回。
还有一种是可以使用H5+ 的 插件 实现:
plus.key.addEventListener('backbutton', function(){
//返回后执行的代码
});

该问题目前已经被锁定, 无法添加新回复