移动端input输入框调起,页面上推,输入框关闭无法恢复

最近做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系统上)

 

posted @ 2019-02-28 11:05  rubyT  阅读(820)  评论(0编辑  收藏  举报