移动端ios兼容输入软键盘,弹出后页面上移,软键盘关闭弹时页面不自动回弹。原因分析:当固定定位的元素聚焦在元素中的输入框时,弹出软键盘占了一个地方。当失去焦点时,软键盘消失,但仍然占位,导致输入框无法再次输入。你会发现那个点是不动的。你的页面陷入了死循环,但是它已经向上移动了,并没有回到之前的状态。解决方案:changeBlur(){让u=navigator.userAgent,app=navigator.appVersion;让isIOS=!!u.match(/\(i[^;]+;(U;)?CPU.+MacOSX/);if(isIOS){setTimeout(()=>{constscrollHeight=document.documentElement.scrollTop||document.body.scrollTop||0window.scrollTo(0,Math.max(scrollHeight-1,0))},200)}}after可以完美解决兼容性问题。2.一般移动端页面,比如jquery写的页面,可以这样解决:$('input').on('blur',function(){setTimeout(function(){varscrollHeight=document.documentElement.scrollTop||document.body.scrollTop||0;window.scrollTo(0,Math.max(scrollHeight-1,0));},100);});总结在我实际开发中,Android端的软键盘关闭后,输入框会弹回来,没问题,但是我当时没发现ios端的问题,因为我以为是卡住了因为我在computed里面定义了很多逻辑,后来发现是这个问题。那么这个BUG就完美解决了。