正常登录页面点击输入框获取焦点后,手机的键盘从底部弹出,然后表单应该跟着被顶上去,但是在一些手机自带的浏览器上键盘弹出后表单并没有被顶上去,导致下面的密码输入框被键盘遮挡了。试过监听window的resize事件,发现键盘弹出后resize事件并未触发,也就是说页面的高度没有变化(innerHeight、clientHeight等等各种Height全试过了),就好像键盘是脱离了浏览器一样。然后又尝试通过获取焦点来判断键盘弹出,但键盘收起就无法判断,因为如果用户通过点击键盘右上角的收起按钮来收起键盘,输入框并不会失去焦点。而收起按钮又无法捕获到。想知道前端有什么方法可以解决这个问题。PS:测试的是一加手机,在同一手机的chrome上则正常,表单被顶上去了。测试其他手机时大多数也正常(包括UC),但也有部分手机自带浏览器甚至连chrome都不行。
一只斗牛犬
相关分类