最近做h5 input调起输入框,页面上推,输入框关闭无法恢复的问题,当时就觉得很奇怪,因为是整个body上推 ,无法恢复,但是稍微点击一下屏幕,body就恢复了,所以当时想的解决方案就是当输入框失去焦点的可以让页面动一下。
首先给input绑定上失去焦点函数
<input @blur.prevent="blur()">(这里用的vue写法)
所以想到的第一个解决方案就是
blur:function(){
setTimeout(()=>{
document.body.style.paddingBottom = "10px"
setTimeout(()=>{
document.body.style.paddingBottom = "0px"
},100)
},100)
}
确实生效了,可是感觉代码好多,后来就在网上找到了别人的一种解决方案
blur:function(){
scrollTo(0, pageYOffset)
}
当前也生效了就成功解决那个body上推无法回复的问题(上述问题,发生在ios系统上)