H5页面,在ios上,输入框被键盘盖住,怎么解决?

1.scrollView()方法并不能解决
2.js获取软键盘的高度也不行,ios不能触发resize事件

阅读 4.6k
1 个回答

我之前也研究过这个问题,在 iOS 下,用 scrollIntoView() 是可以解决的。

对于安卓平台,我是默认认为软键盘的高度不会超过屏幕高度的一半,所以先用 clickedElement.getBoundingClientRect().top 计算所点击元素距离屏幕顶部的高度,如果低于屏幕高度一半的距离的话,则用 scrollTop() 让它上移一定距离。因为在用安卓真机的测试过程中发现安卓并不支持 scrollBy() 这个方法,所以用的是 scrollTop() 这个方法。

自己也整理成了一篇文章,放在了这里:点击输入框自动上移页面至软键盘上方

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题