IOS中input、textarea键盘弹起不回弹,焦点错位的问题

最近在搞移动端的项目,其中有一条需求是用户可以发送评论,做了一个评论框
在这里插入图片描述
第一反正肯定是用的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);
	}
}

问题就解决了,就不会找不到焦点了,自己就能回到原来的位置上了,嘻嘻嘻

不喜勿喷

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值