移动端底部input被弹出的键盘遮挡的解决办法

input输入框是通过position定位一直放在页面底部,当点击input进行输入的时候,部分机型(尤其是ios系统)底部input被弹出的键盘遮挡,如何解决这个问题呢?

在解决这个问题的时候,有试过下面这种方法:

在input的focus事件中,开启一个定时器,然后每隔300毫秒进行一次document.body.scrollTop=document.body.scrollHeight的调整,运行3次即可。

然而实际体验确差强人意,于是就找到了一下这个办法:

Element.scrollIntoView()

Element.scrollIntoView():方法让当前的元素滚动到浏览器窗口的可视区域内

    document.querySelector('#inputId').scrollIntoView();
    //只要在input的点击事件,或者获取焦点的事件中,加入这个api就好了
  • 1
  • 2
  • 3

这个api还可以设置对齐方法,选择将input放在屏幕的上方/下方,这个api还常用于以下效果:

类似的api还有:Element.scrollIntoViewIfNeeded(),这两个是解决同一个问题的,选择一个用就可以了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值