解决安卓上底部使用fixed布局,键盘弹出后fixed部分的内容挡住form表单的情况
来源:互联网 发布:爱国为主题的电影知乎 编辑:程序博客网 时间:2024/06/07 01:24
今天写了一个登录,但是登录按钮是固定在页面最底部。这种布局下,ios手机上是没问题的,但是在安卓手机上,键盘弹出后,登录按钮会挡住form表单。
原因就是,ios手机在键盘弹出后,页面高度不会发生变化的,但是安卓手机上键盘弹出后,页面高度 = 原始高度- 键盘高度。
原本想的就是根据input输入框的获焦和失焦来判断键盘的弹起与关闭,但是后来发现,有些手机上面的键盘有一个收起的按钮,点击那个按钮会收起键盘,但是不会触发失焦事件。并且在多个input输入框之间来回切换的时候也会有问题。
解决办法:由于无法获取键盘高度,所以只能监听页面高度变化,在发生变化的时候,改变登录按钮的定位方式。将fixed改为static(或者relative)
代码如下:
var client_h = document.documentElement.clientHeight;$(window).on("resize",function(){var body_h = document.body.scrollHeight;if(body_h < client_h){$(".operate").removeClass("fixed");console.log("小了");}else{console.log("正常");$(".operate").addClass("fixed");}});
1 0
- 解决安卓上底部使用fixed布局,键盘弹出后fixed部分的内容挡住form表单的情况
- 使用flex布局解决安卓手机上固定在底部的按钮,在键盘弹起后挡住input输入框的问题
- position:fixed的布局方式使用
- 移动端fixed + Input 调用键盘的时候fixed无效问题(css解决)
- 解决position:fixed受虚拟键盘的影响
- css解决fixed布局不会出现滚动条的问题
- Android 解决由于使用SlidingMenu导致虚拟键盘挡住底部菜单栏的问题
- 关于移动端使用局部滚动解决ios不支持position:fixed后产生的问题
- ios解决输入框弹出后position:fixed失效问题
- fixed和setprecision的使用
- [iOS]解决键盘弹出时挡住输入框的问题
- Web移动端Fixed布局的解决方案
- Web移动端Fixed布局的解决方案
- Web移动端Fixed布局的解决方案
- Web移动端Fixed布局的解决方案
- Web移动端Fixed布局的解决方案
- Web移动端Fixed布局的解决方案
- Web移动端Fixed布局的解决方案
- Cognos部分参数意义
- H5 ios input获取焦点挂起软键盘 输入框被遮盖 页面被顶起
- 使用命令行运行unity并执行某个静态函数(运用于远程打包)
- 邪魔歪道用js系列(1)datagrid编辑器销毁
- RecyclerView(二)——为recyclerView增加header和footer
- 解决安卓上底部使用fixed布局,键盘弹出后fixed部分的内容挡住form表单的情况
- Android 全局异常捕获
- BZOJ 3205 [Apio2013]机器人 斯坦纳树
- unity 时间戳
- Mysql 字符串 varchar 和 char 在存储上的区别
- 数据字典查询数据库中分区字段
- Android Multimedia实战(六)音频 MediaRecorder和AudioRecord录音与MediaPlayer和AudioTrack播放
- C语言:数组中相邻元素持续相加,求其最大值!
- GreenDao的基本使用以及遇到的坑