WeUI在Android手机下输入法遮挡输入框bug修复
· 日志记录 · 0 comment · 37 Views

WeUI在Android手机下输入法遮挡输入框bug修复

· 日志记录 · 0 comment · 37 Views
// .container 设置了 overflow 属性, 导致 Android 手机下输入框获取焦点时, 输入法挡住输入框的 bug
// 相关 issue: https://github.com/weui/weui/issues/15
// 解决方法:
// 0. .container 去掉 overflow 属性, 但此 demo 下会引发别的问题
// 1. 参考 http://stackoverflow.com/questions/23757345/android-does-not-correctly-scroll-on-input-focus-if-not-body-element
//    Android 手机下, input 或 textarea 元素聚焦时, 主动滚一把
if (/Android/gi.test(navigator.userAgent)) {
    window.addEventListener('resize', function () {
        if (document.activeElement.tagName == 'INPUT' || document.activeElement.tagName == 'TEXTAREA') {
            window.setTimeout(function () {
                //document.activeElement.scrollIntoViewIfNeeded();
                document.activeElement.scrollIntoView();
            }, 0);
        }
    })
}

刚开始找到上面的这段代码,若用注释掉的代码是无效的,在新的weui/issues/577中找到新的方法:
document.activeElement.scrollIntoViewIfNeeded改为document.activeElement.scrollIntoView
即可代替实现该功能。

添加新评论