最近在项目中,发现部分iOS手机的微信浏览器加载的H5页面,页面涉及包含有下拉选择框或者输入框(input / textarea),当软键盘或选项框关闭之后,底下会空缺一块,很是郁闷,但是最终却找到了解决办法,如下:
//只有一个输入框的问题
$('input,textarea').on('blur',function(){
setTimeout(function(){
window.scrollTo(0, 0)
},100)
})
//多个输入框问题
$("input,textarea").on("blur",function(){
setTimeout(function(){
window.scrollTo(0,0);
},100)
}).on('focus',function(){
var clientHeight = document.documentElement.clientHeight || document.body.clientHeight;
var offsetTop = $(this).offset().top - (clientHeight / 4);
setTimeout(function(){
window.scrollTo(0,offsetTop);
},100)
})