雷欧斯
- 发布:2015-05-10 18:54
- 更新:2015-05-18 19:54
- 阅读:12287
2 个回复
我要吃饭
哈哈,我也遇到了这个问题,不过解决了。思路分析:
有部分手机有这个现象,我遇到的是小米4,华为低端机百度输入法反而没有这种现象。
问题原因:
正常情况下,返回按钮事件应该会被输入法捕捉拦截,不会传到webview里面的。但是有些输入法捕捉返回事件后,退出输入法,然后继续下发返回按钮事件到webview,造成webview执行返回函数。
解决办法:
1.输入法打开和关闭会触发webview的resize事件。resize事件触发时间可以认为是输入法关闭的时间。参考http://ask.dcloud.net.cn/question/4548
解决代码:
//有输入框,重写返回函数
var time=new Date().getTime();
var o_back=mui.back;
//记录输入法返回时间
window.addEventListener("resize",function(){
time=new Date().getTime();
);
mui.back=function(){
var now=new Date().getTime();
//判断不是是输入法触发的返回事件
if((now-time)>1000){
o_back();//退出
}
}
我要吃饭
如果是大平板,输入法有可能不会压缩webview的高度,就不触发resize事件。这时换个思路。
在退出函数中:
这个没有测试过,因为没钱买大平板