微信公众号开发 当有input输入完成,键盘消失后页面显示回到原位,但实际是没有回弹
发布于 7 年前 作者 fang28 11189 次浏览 来自 官方Issues

微信公众号开发

ios 

当有input父类根据页面定位时,手机下方弹出键盘使页面上移,当输入完成,键盘消失后页面显示回到原位,但实际不能点击(可点击上方区域,有反应),也就是说实际是没有回弹。

后来测试不光 input 有问题,textarea 也有同样的问题。

3 回复

对,在苹果手机微信上是有这个问题,input虽然下去,但是input的焦点还在原来的位置上,用手指轻轻滑动屏幕就下去了,当然正常是要用代码模拟这个小滑动

 function loseFocus() {

                    var ua = navigator.userAgent.toLowerCase();

                    var u = navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);

                    if(ua.match(/MicroMessenger/i) == ‘micromessenger’ && !!u) {

                        var currentPosition, timer;

                        var speed = 0; //页面滚动距离

                        timer = setInterval(function() {

                            currentPosition = document.documentElement.scrollTop || document.body.scrollTop;

                            currentPosition -= speed;

                            window.scrollTo(0, currentPosition); //页面向上滚动

                            currentPosition += speed; //speed变量

                            window.scrollTo(0, currentPosition); //页面向下滚动

                            clearInterval(timer);

                        }, 1);

                    }

                }

让失去焦点时,调用这个方法

截图看下呢?

参考下:微信打开网页键盘弹起后页面上滑,导致弹框里的按钮响应区域错位? 社区技术运营专员-白柿子 的回答 - 微信开放社区 https://developers.weixin.qq.com/community/develop/doc/000eaa965e8dc021fac7a569f56c00?jumpto=comment&commentid=000a8ccde144e0a2f4c7f767e568

回到顶部