热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ios设备的弹窗页面,光标错位,光标乱跳

如果产品要求在移动端里有弹窗中多个ipnut,趁早找产品沟通不要弹窗,新起页面,此问题巨坑!一.经常是上下错位,原因是在input获取焦点以后,键盘弹出后,会把页面往上顶着移动,但

如果产品要求在移动端里有弹窗中多个ipnut,趁早找产品沟通不要弹窗,新起页面,此问题巨坑!


一.经常是上下错位,原因是在input 获取焦点以后,键盘弹出后,会把页面往上顶着移动,但是光标停留在了以前的位置,如果页面不复杂,可以在获取焦点后给body上添加 position:fixed ,使用后清除,但是这样会引起页面失去滚动能力,页面中尽量使用absolute,或者是float,还有flex。

二.还有一种情况就是页面中有了弹窗,在弹窗中有多个input(一般大于2个)标签,会出现光标左右平移,或者光标乱跳,点了第一个光标去了第二个,
(1)、左右平移先给input加test-align:left;无效在找别的原因

(2)、此类问题大多解决办法都是把弹窗的fixed定位改为absolute 页面中不要出现fixed定位

(3)、或者是添加fastclick.js库,目前感觉此方法起不到什么作用。。

(4)、仔细观察页面,可以看到页面上的input先聚焦再滚动;也就是说,聚焦事件在页面滚动之前或者滚动完成之前就已经完成了,所以这时候页面滚动,而光标又不跟随滚动,就造成了光标跳行、错乱的问题。

解决方法:1、输入框在聚焦的时候,会弹起软键盘;所以,我们监听软键盘弹起事件,在弹起事件后,进行dom重绘,但是这种必须要加延时处理2、当页面出现滚动条时,弹框弹出后,页面回滚至顶部。在不改变原有弹框代码的情况下,有效地解决光标错位问题,但严重影响用户使用,可以给弹出层重新定位:获取滚动条高度,为弹窗重新设置top值;3、弹框采用absolute定位后,关键是top值的确定ios Safari 输入键盘弹出时,若页面底部被挤压上去,则关闭弹框会复原到页面滚动到底部时的状态,若底部没被挤压上去,每弹出一次键盘,页面都会上去一定距离,且不复原,可以阻止页面的touchmove事件来实现固定底部页面的想法,4、总结:给input加test-align:left;把页面所有fixed定位改为absolute,阻止页面滚动 或者 弹出后重新渲染页面 或者 监听更新弹窗top值 或者 在设计时不要在弹窗里多个input....巨坑!

推荐阅读
  • 采用IKE方式建立IPsec安全隧道
    一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
  • 丽江客栈选择问题
    本文介绍了一道经典的算法题,题目涉及在丽江河边的n家特色客栈中选择住宿方案。两位游客希望住在色调相同的两家客栈,并在晚上选择一家最低消费不超过p元的咖啡店小聚。我们将详细探讨如何计算满足条件的住宿方案总数。 ... [详细]
  • Appium + Java 自动化测试中处理页面空白区域点击问题
    在进行移动应用自动化测试时,有时会遇到某些页面没有返回按钮,只能通过点击空白区域返回的情况。本文将探讨如何在Appium + Java环境中有效解决此类问题,并提供详细的解决方案。 ... [详细]
  • 基于Node.js、Express、MongoDB和Socket.io的实时聊天应用开发
    本文详细介绍了使用Node.js、Express、MongoDB和Socket.io构建的实时聊天应用程序。涵盖项目结构、技术栈选择及关键依赖项的配置。 ... [详细]
  • 利用Selenium与ChromeDriver实现豆瓣网页全屏截图
    本文介绍了一种使用Selenium和ChromeDriver结合Python代码,轻松实现对豆瓣网站进行完整页面截图的方法。该方法不仅简单易行,而且解决了新版Selenium不再支持PhantomJS的问题。 ... [详细]
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
  • 深入理解Vue.js:从入门到精通
    本文详细介绍了Vue.js的基础知识、安装方法、核心概念及实战案例,帮助开发者全面掌握这一流行的前端框架。 ... [详细]
  • 探讨 HDU 1536 题目,即 S-Nim 游戏的博弈策略。通过 SG 函数分析游戏胜负的关键,并介绍如何编程实现解决方案。 ... [详细]
  • This post discusses an issue encountered while using the @name annotation in documentation generation, specifically regarding nested class processing and unexpected output. ... [详细]
  • 探讨ChatGPT在法律和版权方面的潜在风险及影响,分析其作为内容创造工具的合法性和合规性。 ... [详细]
  • Python 内存管理机制详解
    本文深入探讨了Python的内存管理机制,涵盖了垃圾回收、引用计数和内存池机制。通过具体示例和专业解释,帮助读者理解Python如何高效地管理和释放内存资源。 ... [详细]
  • JSOI2010 蔬菜庆典:树结构中的无限大权值问题
    本文探讨了 JSOI2010 的蔬菜庆典问题,主要关注如何处理非根非叶子节点的无限大权值情况。通过分析根节点及其子树的特性,提出了有效的解决方案,并详细解释了算法的实现过程。 ... [详细]
  • 国际高保真音乐流媒体平台的崛起:亚马逊与谷歌的竞争策略
    近期,亚马逊和谷歌正积极筹备推出高保真音乐流媒体服务,预计在2019年底前上线。根据市场研究机构CIRP的数据,截至2018年12月,美国智能音箱的安装量已增至6600万台,较第三季度增长显著。这一趋势对Spotify等传统流媒体平台构成了新的挑战。 ... [详细]
  • 本文介绍了如何使用JavaScript的Fetch API与Express服务器进行交互,涵盖了GET、POST、PUT和DELETE请求的实现,并展示了如何处理JSON响应。 ... [详细]
  • 本文介绍了如何通过Java代码计算一个整数的位数,并展示了多个基础编程示例,包括求和、平均分计算、条件判断等。 ... [详细]
author-avatar
fdsafjlkjgklg_431
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有