我有一个微信页面,里面是表单,然后选择一个input后,键盘出来把页面顶到上方,但是在input失焦后键盘缩回,页面不会滚,导致一个 fixed 的弹出层出现bug,按钮点了无效,需要手动划下屏幕页面才会正常,请问各位大神有遇到过这种问题吗?怎么解决的?
没人回答啊。。。查了很多文档没找到css当中的错误点在哪里,所以就参考别人的代码,使用js做强制回滚,哪位大神解决过这个问题希望分享下经验啊 var bfscrollboolean = false;//连续点击input时布尔值 var bfscrolltop = document.body.scrollTop;//获取软键盘唤起前浏览器滚动部分的高度 $("input[type=text], input[type=tel], input[type=number], input[type=password], textarea").focus(function(){ //获取焦点时触发事件 interval = setInterval(function(){//设置一个计时器,时间设置与软键盘弹出所需时间相近 bfscrolltop = document.body.scrollTop;//获取焦点后将浏览器内所有内容高度赋给浏览器滚动部分高度 },100) bfscrollboolean = true; }).blur(function(){//设定输入框失去焦点时的事件 clearInterval(interval);//清除计时器 bfscrollboolean = false; setTimeout(function(){ if(!bfscrollboolean){ document.body.scrollTop = bfscrolltop; //将软键盘唤起前的浏览器滚动部分高度重新赋给改变后的高度 } },100) });
没人回答啊。。。查了很多文档没找到css当中的错误点在哪里,所以就参考别人的代码,使用js做强制回滚,哪位大神解决过这个问题希望分享下经验啊