前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >IOS系统下虚拟键盘遮挡文本框问题的解决

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

作者头像
lin_zone
发布2018-08-15 11:20:06
1.9K0
发布2018-08-15 11:20:06
举报
文章被收录于专栏:LIN_ZONELIN_ZONE

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

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

下面说说解决办法:

主要代码

代码语言:javascript
复制
document.body.scrollTop = document.body.scrollHeight;

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

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

js写法:

代码语言:javascript
复制
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写法:

代码语言:javascript
复制
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;
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-09-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档