详细问题描述
[内容]
在一个页面mui.plusReady里 new了2个mui.PopPicker({layer: 2}),内容不同,
点击不同按钮,弹出不同的poppicker,在点击一个时,先hide另外一个,
来回反复点击,会导致页面左上角回退键的mui-action-back 失效,无法返回,
报错:
Uncaught TypeError: $.back is not a function at js/mui.js:2783
只能通过plus.webview.close(ws);方式退出。
5 个回复
v***@163.com (作者)
另外,就是安卓机的回退键也会无效,报:TypeError: $.back is not a function
v***@163.com (作者)
at __back (file:///storage/emulated/0/Android/data/io.dcloud.HBuilder/apps/HBuilder/www/js/mui.js:2898:5)
v***@163.com (作者)
看了一下mui.poppicker.js的代码,hide()方法有问题
hide: function() {
...
//处理物理返回键
$.back=self.__back;
...
}
这里要加个判断,self.__back是否已经设置的判断,
如果用户不调用show,直接调用hide,back键就挂了。
v***@163.com (作者)
self.__back为undefined的情况设置给$.back,就会把原来的$.back给冲掉
2018-03-30 10:32
5***@qq.com
我也遇到相同的问题,页面里面有poppicker的时候,点击poppicker后,返回就失效了,你那边有什么好方法吗?
v***@163.com (作者)
mui.poppicker.js这个文件里有bug,看我上面的评论。
2018-05-24 14:26
8***@qq.com - 鸡鸡小而舰艇
加个什么判断呢?
4***@qq.com
我遇到的是dtpicker,在打开新的picker前关闭已打开的picker就好了
2018-08-17 11:33