移动端键盘遮挡问题

输入框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

posted @   全玉  阅读(433)  评论(0编辑  收藏  举报
编辑推荐:
· 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工具
点击右上角即可分享
微信分享提示