最近在搞移动端的项目,其中有一条需求是用户可以发送评论,做了一个评论框
第一反正肯定是用的textarea,我自己的是安卓机子测试后没有问题,但是同事的是IOS系统,测试就出问题了
查了一圈,发现在IOS弹起键盘以后固定定位的textarea被顶起,但是键盘收回以后textarea没有回到原来的位置,但是,只要滑动一下屏幕就好了
既然滑动屏幕就能好,那就键盘收起以后设置让他滑动一下呗
// html中
<textarea placeholder="输入评论内容..." @blur.prevent="checkWxScroll()" ></textarea>
// 绑定textarea的失焦事件
checkWxScroll(){
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);
}
}
问题就解决了,就不会找不到焦点了,自己就能回到原来的位置上了,嘻嘻嘻
不喜勿喷