移动端软键盘弹出时文本输入框下沉获取焦点并弹出软键盘

Posted 10yearsmanong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移动端软键盘弹出时文本输入框下沉获取焦点并弹出软键盘相关的知识,希望对你有一定的参考价值。

## 文本输入框容易下沉因为软键盘弹出时是一个动画 ##

//方法:利用滚动条,弹出软键盘的时候让滚动条滚动到最底部。并设置一个定时器每过0.5秒设置一次,
//这个是因为软键盘还没有完全弹出滚动条已经到此时的底部了,等软键盘完全弹出后就遮住了输入框(需要再次设置滚动条)。

let interval;

//消息框获取焦点
 document.querySelector(‘.class或者#id‘).onfocus = function(){
   interval = setInterval(function() {
        document.body.scrollTop = document.body.scrollHeight;
    }, 500)
}

//消息框失去焦点
document.querySelector(‘.class或者#id‘).onblur = function(){
    clearInterval(interval);
}

以上是借鉴segmentfault前辈总结


文本输入框获取焦点并弹出软键盘(适用文本框开始隐藏需要触发显示)

解决思路:获取焦点并弹出软键盘的前提(移动端我的理解)要让输入框显示出来,这里就可以通过层或者透明度(opacity)来解决,由于业务关系透明度不适用所以大多数采用了层(z-index)来解决。

效果:点击按钮弹出输入框获取焦点并弹出软键盘(类似微信朋友圈、QQ空间)。

以上是关于移动端软键盘弹出时文本输入框下沉获取焦点并弹出软键盘的主要内容,如果未能解决你的问题,请参考以下文章

Android EditText获取焦点并弹出软键盘

移动端web软键盘兼容问题

Vue中 监听移动端软键盘弹出收起事件

Vue中 监听移动端软键盘弹出收起事件

安卓移动端软键盘弹出问题解决方案

flutter 键盘弹出时list view 置底