移动端键盘遮挡问题
输入框focus后,键盘弹起会遮挡住输入框,解决方法有如下几种:
1.找到元素的顶部位置,页面滚动到元素顶部位置(有时页面高度不足,
可能要添加padding-bottom,以保证页面滚动到指定元素后,用户
能手动滑动到其他位置,可以使用click事件或focus和blur事件,
来控制和解除行为)
zepto
this.$el.bind('click', function(evt) { var offset = that.$el.offset(); var scrollValue = offset.top; window.scrollTo(0, scrollValue); });
javascript
var el = document.getElementById('xx') el.addEventListener('click',function(evt){ var top = el.getBoundingClientRect().top; window.scrollTo(0,top); //或者设置scrollTop //window.scrollTop = top; //document.body.scrollTop = top; },false);
2.可以使用scrollIntoView或scrollIntoViewIfNeeded(新版ios中已经失效)
在input的focus或click时候,使用scrollIntoView将页面滚动至元素位置,或者 document.activeElement.scrollIntoViewIfNeeded();
3.分页显示input
将多个输入框分页显示在多屏,每屏只在上半屏显示输入框。
4.弹框输入
将被遮挡的input做成div,点击时候,弹出对话框进入输入。
参考:https://my.oschina.net/cjlice/blog/625526
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具