首页前端开发HTMLH5如何解决安卓中input输入框获取焦点后,底部固定定位的按钮顶起问题?

H5如何解决安卓中input输入框获取焦点后,底部固定定位的按钮顶起问题?

时间2024-01-26 18:28:03发布访客分类HTML浏览474
导读:收集整理的这篇文章主要介绍了html5教程-H5如何解决安卓中input输入框获取焦点后,底部固定定位的按钮顶起问题?,觉得挺不错的,现在分享给大家,也给大家做个参考。小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,...
收集整理的这篇文章主要介绍了html5教程-H5如何解决安卓中input输入框获取焦点后,底部固定定位的按钮顶起问题?,觉得挺不错的,现在分享给大家,也给大家做个参考。小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。

问题描述:手机H5页面当input输入框获取焦点时,软键盘会弹起,这时:IOS底部固定定位的按钮不会随着键盘弹起而弹起;而安卓底部固定定位的按钮会跟随软键盘弹起而顶起,往往会遮挡一部分视图,这对用户的体验有点不好,故本篇文章将利用js来解决这个问题,优化用户体验。

1、解决思路

当软键盘弹起时,将底部弹起的按钮隐藏;当软键盘收起时,将按钮正常显示。

2、确定捕获的事件

(1)input输入框的聚焦/失焦事件

分析:当input输入框聚焦,软键盘弹起,将底部弹起的按钮隐藏;当点击视图任意位置,input输入框失焦,软键盘收起,按钮显示是行的通的。不过,存在一个盲区:当点击软键盘的原生收起按钮‘’时,焦点仍然在输入框内,失焦事件无法被触发,按钮仍是隐藏状态!

结论:无法满足需求。

(2)window的resize事件

分析:不管是软键盘的弹起和收起事件都会立即触发window的resize事件,满足需求。

3、绑定事件
 // 获取视图原始高度 let screenHeight = document.body.offsetHeight    // 为window绑定resize事件 window.onresize = function () {
       let nowHeight = document.body.offsetHeight       if (nowHeight  screenHeight) {
         // 将底部弹起的按钮隐藏(可使用给按钮添加相应类)       }
 else {
         // 将按钮正常显示(可使用给按钮移除相应类)       }
     }
     
4、使按钮消失的方法(消失类的样式css)

display: none; // DOM元素直接不渲染,在文档流不占位置 visibilITy: hidden; // DOM元素仍渲染,在文档流占位置,但不可见,不可触发事件 opacity: 0; // DOM元素仍渲染,在文档流占位置,但不可见,可点击,可触发事件 transform: tranlatex('500px'); // DOM元素仍渲染,在文档流占位置,只是移出了可见范围

问题描述:手机H5页面当input输入框获取焦点时,软键盘会弹起,这时:IOS底部固定定位的按钮不会随着键盘弹起而弹起;而安卓底部固定定位的按钮会跟随软键盘弹起而顶起,往往会遮挡一部分视图,这对用户的体验有点不好,故本篇文章将利用js来解决这个问题,优化用户体验。

1、解决思路

当软键盘弹起时,将底部弹起的按钮隐藏;当软键盘收起时,将按钮正常显示。

2、确定捕获的事件

(1)input输入框的聚焦/失焦事件

分析:当input输入框聚焦,软键盘弹起,将底部弹起的按钮隐藏;当点击视图任意位置,input输入框失焦,软键盘收起,按钮显示是行的通的。不过,存在一个盲区:当点击软键盘的原生收起按钮‘’时,焦点仍然在输入框内,失焦事件无法被触发,按钮仍是隐藏状态!

结论:无法满足需求。

(2)window的resize事件

分析:不管是软键盘的弹起和收起事件都会立即触发window的resize事件,满足需求。

3、绑定事件
 // 获取视图原始高度 let screenHeight = document.body.offsetHeight    // 为window绑定resize事件 window.onresize = function () {
       let nowHeight = document.body.offsetHeight       if (nowHeight  screenHeight) {
         // 将底部弹起的按钮隐藏(可使用给按钮添加相应类)       }
 else {
         // 将按钮正常显示(可使用给按钮移除相应类)       }
     }
     
4、使按钮消失的方法(消失类的样式css)

display: none; // DOM元素直接不渲染,在文档流不占位置 visibility: hidden; // DOM元素仍渲染,在文档流占位置,但不可见,不可触发事件 opacity: 0; // DOM元素仍渲染,在文档流占位置,但不可见,可点击,可触发事件 transform: tranlateX('500px'); // DOM元素仍渲染,在文档流占位置,只是移出了可见范围

觉得可用,就经常来吧! 欢迎评论哦! html5教程,巧夺天工,精雕玉琢。小宝典献丑了!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

CSSdivDOMletpost-format-gallery

若转载请注明出处: H5如何解决安卓中input输入框获取焦点后,底部固定定位的按钮顶起问题?
本文地址: https://pptw.com/jishu/587120.html
HTML5公共页面如何提取作为公用代码? HTML5基本标签总结

游客 回复需填写必要信息