IOS系统下虚拟键盘遮挡文本框问题的解决

最近在项目中发现同样的代码在Android端微信网页中点击文本框唤出的虚拟键盘不会遮挡文本框,但是在IOS端的微信网页中点击文本框唤出的键盘却在大部分情况下会遮挡文本框

经过高人指点,这个问题终于解决了

下面说说解决办法:

主要代码

 

document.body.scrollTop = document.body.scrollHeight;

 

然后在文本框获取焦点的时候,可以定义一个计时器,一直执行上面的那句话

在文本框失去焦点的时候,就把之前的计时器清除掉即可

js写法:

let interval;

//获取文本框对象
let text = document.getElementById('text').getElementsByTagName('textarea')[0];
//消息框获取焦点
text.onfocus = function () {
interval = setInterval(function () {
scrollToEnd();
}, 500)
};

//消息框失去焦点
text.onblur = function () {
clearInterval(interval);
};

//滚动到底部
function scrollToEnd() {
document.body.scrollTop = document.body.scrollHeight;
}

 

jquery写法:

let interval;
let text = $('#text textarea');
//消息框获取焦点
text.focus (function(){
interval = setInterval(function () {
scrollToEnd();
}, 500)
});

//消息框失去焦点
text.onblur(function () {
clearInterval(interval);
});

//滚动到底部
function scrollToEnd() {
document.body.scrollTop = document.body.scrollHeight;
}

 

转载于:https://www.cnblogs.com/zhuchenglin/p/7532503.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值