ios中,输入框获得焦点时,页面输入框被遮盖,定位的元素位置错乱

简介: ios中,输入框获得焦点时,页面输入框被遮盖,定位的元素位置错乱

当页input存在于吸顶或者吸底元素中时,用户点击输入框,输入法弹出后,fiexd失效,页面中定位好的元素随屏幕滚动。
方案一: 在scrollIntoView 的应用,将input输入框显示在可视区域。

// 输入框获得焦点时,元素移动到可视区域

 inputOnFocus(e) {
    setTimeout(function(){
 // true:元素的顶端将和其所在滚动区的可视区域的顶端对齐; false:底端对齐。
        e.target.scrollIntoView(true);      
   },200);  // 延时 == 键盘弹起需要时间
 }

不过有点小缺陷:页面过长时,由于fixed失效,输入框依然也会跟着页面滑走。
这时,我们需要一个固定的输入框......
方案二:在输入框获得焦点时,将页面滑动到最底部,避免fixed导致的页面乱飞,并且保证input在最底部。

var timer;
 // 输入框获得焦点时,将元素设置为position:static,设置timer
 inputOnFocus(e) {
    e.target.style.className = 'input input-static';
     timer = setInterval(
        function() {
           document.body.scrollTop = document.body.scrollHeight
        }, 100)
 };
 // 输入框失去焦点时,将元素设置为 position:fixed,清除timer
 inputOnbulr(e) {
    e.target.parentNode.className = 'input input-fixed';
    clearInterval(timer)
 };
目录
相关文章
|
4月前
|
Web App开发 移动开发 Android开发
解决IOS Safari浏览器H5页面上下滑动时卡顿、页面缺失的问题
解决IOS Safari浏览器H5页面上下滑动时卡顿、页面缺失的问题
|
8月前
|
iOS开发
iOS 第三方dSYM定位BUG
iOS 第三方dSYM定位BUG
92 0
|
9月前
|
Linux iOS开发 Windows
07-appium-Appium Desktop查看元素- iOS
07-appium-Appium Desktop查看元素- iOS
|
9月前
|
前端开发 API Android开发
Android侧滑踩坑记(仿IOS侧滑finish页面基于Slidr库)
Android侧滑踩坑记(仿IOS侧滑finish页面基于Slidr库)
179 0
|
11月前
|
iOS开发
iOS app跳转到系统设置页面方法
iOS app跳转到系统设置页面方法
158 0
|
11月前
|
iOS开发
iOS dismiss到前两级页面
iOS dismiss到前两级页面
83 0
|
11月前
|
iOS开发
iOS WKWebView 打开页面空白URL为空问题解决办法
iOS WKWebView 打开页面空白URL为空问题解决办法
515 0
|
定位技术 iOS开发
iOS iPhone 修改手机定位虚拟定位
iOS iPhone 修改手机定位虚拟定位
iOS iPhone 修改手机定位虚拟定位
|
iOS开发
iOS开发 - 点击tabbar某一个item,直接push跳转进入需要的页面,而不是切换tab
iOS开发 - 点击tabbar某一个item,直接push跳转进入需要的页面,而不是切换tab
372 0
|
定位技术 API 开发工具
iOS开发-百度地图基本定位和罗盘跟随的使用,附加地理编码和反地理编码
iOS开发-百度地图基本定位和罗盘跟随的使用,附加地理编码和反地理编码
131 0
iOS开发-百度地图基本定位和罗盘跟随的使用,附加地理编码和反地理编码