iPhone在微信下 输入框失去焦点后屏幕卡住问题处理
iPhone在微信下 输入框失去焦点后屏幕卡住问题,手动滑动一下平稳问题就可以解决,所以。。。。。。让需求方自己划动下屏幕吧
代码解决方法
监听到输入框的滚动事件的时候,给body一个滚动值,即可解决
document.scrollingElement.scrollTop = 100 // 这个值根据需要给
但是存在一个问题,当从一个输入框点击到另一个输入框的时候,不该触发这个滚动事件,每次滚一下体验上会很不舒服,所以需要在聚焦的时候不再触发滚动,实现方法有很多,我的代码如下
export const fixIphoneScrollBug = (function(){
let __timeoutFillinfo = null
return function fixbubInWechat(ev, bool, val = 200){
if(!isIphone()) return;
if (bool) return clearTimeout(__timeoutFillinfo)
__timeoutFillinfo = setTimeout(() =>
document.scrollingElement.scrollTop = val, 500)
}
})();
// focus 时 ,执行 fixIphoneScrollBug(ev, true)
// blur 时,执行 fixIphoneScrollBug(ev)