本文共 1180 字,大约阅读时间需要 3 分钟。
// 修改position:fixed; position:absolute;// position:fixed;position:absolute;
实践证明没有任何影响,就算不使用定位也会出现遮挡输入框的情况
setTimeout(function(){ document.body.scrollTop = document.body.scrollHeight;},300)
这种方法在iOS10上可以解决遮挡的问题,但在iOS11上会出现键盘先将输入框顶上去然后输入框又快速回到屏幕底部再次被遮挡的情况
这两种方法完全看不出任何效果
直接上代码
// css.mainBox{ height:100vh; position:relative;}.inputBox{ position:absolute; bottom:0;}// 输入框获得焦点事件onFocus() { setTimeout(function(){ // 设置body的高度为可视高度+302 // 302为原生键盘的高度 document.getElementsByTagName('body')[0].style.height = (window.innerHeight + 302) + 'px'; document.body.scrollTop = 302; }, 300)}// 输入框失去焦点事件onBlur() { // 设置body恢复原来的高度 document.getElementsByTagName('body')[0].style.height = window.innerHeight + 'px';}