以 https://wuwhs.gitee.io/demo/k... 这个页面为例。在小米 MI 8 /小米 Redmi K30 等机型的系统浏览器中打开,软键盘会遮盖输入框,求解决方案。
由于这些浏览器中软键盘是直接悬浮盖在页面上的(类似position: fixed),不会改变页面大小,所以不会触发 resize 事件。类似这些方案都不会能解决问题。
以 https://wuwhs.gitee.io/demo/k... 这个页面为例。在小米 MI 8 /小米 Redmi K30 等机型的系统浏览器中打开,软键盘会遮盖输入框,求解决方案。
由于这些浏览器中软键盘是直接悬浮盖在页面上的(类似position: fixed),不会改变页面大小,所以不会触发 resize 事件。类似这些方案都不会能解决问题。
6 回答2.8k 阅读✓ 已解决
5 回答6.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答1.7k 阅读✓ 已解决
4 回答2.5k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
小米和乐视是我遇到过的最屎的两个系统,不知道咋魔改的 WebView 内核,各种奇葩问题,能力不行就老老实实用原生 Chromium 好了,非得秀下限,自己 fork 改的玩意儿还特么不跟人家同步,Google 老早改完的 Bug 到它这儿过一年了也还有。
吐槽完毕,你可以监听输入框的 focus 和 blur 事件,控制一下底部 fixed 的 margin-bottom,给个固定高度,大约是键盘那么高就可以,当有焦点时给底部“撑”起来。
另外为了不影响其他原本正常的机型,你可以再尝试判断一下 UserAgent,来决定是否加入这段逻辑。