javascript - 移动端页面 手机键盘挡住了输入框
问题描述
正常情况
问题
每次当手机切换app或窗口时,再回到该页面时 第一次 点击输入框,键盘就会把输入框挡住,只有第一次点击会挡住。这是什么原因导致的?然后我发现此时页面的滚动条是没有滚动到最底部, 所以我给输入框聚焦时绑定了个事件$(’.input’).on(’focus’, function() {
$(window).scrollTop(99999);
});但是页面的滚动条还是没有滚到最底部,输入框还是给键盘挡住了。
$(document) $(’body, html’) 也试过了.
问题解答
回答1:安卓浏览器在软键盘弹出后不会像iOS浏览器那样重新计算window的高度,所以导致安卓浏览器window的高度在软键盘弹出的时候为“软键盘的高度+(window的高度-软键盘的高度)”;而其实,此时,合理的高度应该是页面的高度+软键盘弹出的高度;就此解决方案为如下:
var winHeight = $(window).height(); //获取当前页面高度 $(window).resize(function() {var thisHeight = $(this).height();if (winHeight - thisHeight > 50) { //当软键盘弹出,在这里面操作 //alert(’aaa’); $(’body’).css(’height’, winHeight + ’px’);} else { //alert(’bbb’); //当软键盘收起,在此处操作 $(’body’).css(’height’, ’100%’);} }); 回答2:
你这是底部输入框样式的问题吧,试试这个上面的方法。/a/11...
回答3:二楼正解,其实就是浏览器兼容性问题
回答4:好像没有啥好办法
相关文章:
1. 哪位大神知道MySql怎么修改多行多列的数据?求指点2. 这是什么情况???3. 编辑管理员信息时,为什么没有修改过的内容会为空?4. phpadmin的数据库,可以设置自动变化时间的变量吗?就是不需要接收时间数据,自动变化5. mysql - thinkphp5 在MAC电脑本地正常,部署LINUX服务器之后,模型不存在6. 老哥们求助啊7. javascript - 百度图片切换图片时url会改变,但无刷新,没用hash,IE8也支持,请问是用了什么技术?8. PHP类封装的插入数据,总是插入不成功,返回false;9. APP上传到电脑服务器,出现数据上传不完整的问题10. 求救一下,用新版的phpstudy,数据库过段时间会消失是什么情况?
