做 HTML5页面时怎么判断手机软键盘是否隐藏?

被这个手机输入法坑了很久。。。

手机页面:
输入框在页面的底部,手机弹出的输入法会遮住底部的输入框(在IOS7+,非UC浏览器不会出现该问题),所以需要判断输入法状态,进而做一些处理。

开始的思路是用 <input> 标签 onFocus,onBlur 事件来判断输入法到底有没有弹出。但是下图这种情况就完全头大了,不知怎么入手。。。。

请教一下大家,解决这个问题的一些经验,以及方法

截图

阅读 12k
3 个回答

直接获输入的事件是不可能的。但是可以通过检测clienHeight的变化来实现吧。

安卓下用 键盘出来、收起都会触发 resize事件, window height 会变小。。。 iphone6 下 不会触发
所以我用的 input -> 弹出输入, blur -> 收起

click的时候
`
setTimeout(function(){

document.body.scrollTop=document.body.scrollHeight-document.documentElement.clientHeight;

},800)
`

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