H5-input弹起键盘遮盖输入框(Android)、键盘弹起后不恢复(IOS)

安卓机问题:
页面完成之后发现在Android上软键盘的弹起并不会像IOS一样带动页面的弹起,而是在原有位置遮盖了输入框,表现如下(有光标的input在弹起键盘时被遮住):
H5-input弹起键盘遮盖输入框(Android)、键盘弹起后不恢复(IOS)_第1张图片
iOS机问题
在input聚焦时可正常弹起,但选择下拉框时却不能正常弹回。
H5-input弹起键盘遮盖输入框(Android)、键盘弹起后不恢复(IOS)_第2张图片

解决:亲自试验可以解决。
用js的resize()方法对浏览器窗口调整大小进行计数:览器窗口的大小时,发生 resize 事件。就可以解决。

window.addEventListener('resize', () => {        
	if (document.activeElement.tagName == 'INPUT') {                      
	window.setTimeout(() => {                											document.activeElement.scrollIntoViewIfNeeded();            
	}, 100);        
}  

解决之后:
android 可以正常聚焦input的位置,iOS可以在键盘存在点击下拉框时可正常回弹。
H5-input弹起键盘遮盖输入框(Android)、键盘弹起后不恢复(IOS)_第3张图片

还是最后:
今晚又加班啊,上海真是节奏快,以前从未想过加班还能到凌晨2、3点。这次上线我这边没什么问题,抽空总结并复习了前几天写H5页面的痛苦问题(适配Android和iOS并且还要分别适配它们的不同机型),坐等上线。。。。

你可能感兴趣的:(H5,android,IOS,弹起的软键盘回退问题布局变化,H5表单input聚焦)