h5 移动端 iphone键盘弹起再收回的时候,页面会留白,需要手动下拉
一、js监听键盘弹出和收起事件
1、在ios中软键盘弹起时,仅会引起$(‘body’).scrollTop值改变,但是我们可以通过输入框的获取焦点情况来做判断,但也只能在ios中采用这个方案,
因为在android中存在主动收起键盘后,但输入框并没有失焦,而ios中键盘收起后就会失焦;
2、在android中软键盘弹起或收起时,会改变window的高度,因此监听window的onresize事件;
(focusin和focusout支持冒泡,对应focus和blur,使用focusin和focusout的原因是focusin和focusout可以冒泡,focus和blur不会冒泡,这样就可以使用事件代理,处理多个输入框存在的情况)
二、判断当前是ios系统还是android终端系统
const userAgent = navigator.userAgent;
let Ios = !!userAgent.match(/\