移动端输入框唤起问题

前言

移动端输入框在输入的时候,我们希望输入框能在键盘的上面展示。这样的需求会很多,但是可能不同机型下输入框会存在无法唤起的问题,以下是一个常见的解决方法。

scrollIntoview

可以把元素滚动到可视区域内

1
2
3
4
5
6
7
8
语法:
element.scrollIntoView(); // 等同于element.scrollIntoView(true)
element.scrollIntoView(alignToTop); // Boolean型参数
element.scrollIntoView(scrollIntoViewOptions); // Object型参数

参数(alignToTop):
true: 元素的顶端将和其所在滚动区的可视区域的顶端对齐
false: 元素的底端将和其所在滚动区的可视区域的底端对齐

注意

还存在浏览器兼容性问题,所以在开发的时候,需要看看是否能达到自己的效果。

如果页面定位为fixed,scrollIntoview是不生效的,因为整个页面都是可视区域了,可以当点击输入时,修改页面的定位方式(最简单)