IOS系统下虚拟键盘遮挡文本框问题的解决
Posted lin_zone
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
}
以上是关于IOS系统下虚拟键盘遮挡文本框问题的解决的主要内容,如果未能解决你的问题,请参考以下文章
[Cordova/Phonegap] Cordova iOS 应用在第三方输入法的键盘弹出(点击输入框)时,页面不上移,导致输入框被键盘遮挡 的解决办法