现象描述:
在软键盘弹出&&收起后,页面中所有元素的焦点均向上偏移。总之就是点不到了!!!得往上挪一段距离,点击其它地方才能触发相应事件。
但手动滚动页面到顶部(哪怕看上去页面没动,就凭空划几下),焦点就恢复正常。
先上解决方法:
window.addEventListener('focusout', function () {
//软键盘收起的事件处理
console.log(document.documentElement.scrollTop || document.body.scrollTop);
window.scrollTo(0, document.documentElement.scrollTop || document.body.scrollTop);
});
原因分析:
软键盘收起后,焦点与实际渲染出的图像错位了。
解决方法详述:
用js滚动一下就能修复错位问题。之所以动态获取Y轴坐标,是为了尽量优化用户体验。避免页面出现过大幅度的滚动。经实测,在页面顶部、中部、底部插入输入框,体验感受均尚可。