ios 设备的移动端页面 光标错位

1.这个问题遇到好多次了,经常是上下错位,原因是在input 获取焦点以后,键盘弹出后,页面网上移动,但是光标停留在了以前的位置,如果页面不复杂,可以在body上添加 position:fixed; 但是这样会引起页面失去滚动能力。目前只能是判断手势,使用js来改变滚动条的位置。为了页面稳定,尽量使用absolute,或者是float,还有flex。

2.在ios 上还有一个问题是,在做一个使用了vue框架的 小项目的时候使用了地图,效果是点击input弹出地图,地图使用了定位,层级比input要高,但是偏偏input的光标在地图上显示着,改变了层级是没有起到作用,后来给 input加了 οnfοcus="this.blur();这样键盘也就不会弹出来了,很好的解决了问题,还可以给input加 overflow:hidden;然后改变光标的位置,在input上定位一个元素,把事件绑定到这个元素上,等等。这个问题相对于光标错位还是很简单的。

3. 有一天中午技术支持和后台找来了,在一个手机号绑定页面,ios的光标又错位了,这次是左右错位,由于当初做这个页面的开发已经辞职了,所以这个问题交给了我,我发现页面所有的布局没有使用到固定定位,这还真不好办,找不到问题的原因,找了公司的同事和各种ios的测试机都没有这个问题。后来应该是技术支持和客服让用户给拍了一段视频
这个问题因为没有找到原因所以,先给input添加了test-align:left;属性,看看后续效果。


4.还存在一个获取验证码按钮点不动的bug。然后查看了一下 按钮不是a标签,也不是button。click事件绑定的元素是一个不可以点击的元素就像div,span 等,但是是目标元素,也没有使用事件委托,但是点击事件就是会失效,这也是一个复杂的问题,先给这个目标元素上添加了cursor: pointer;先把元素改变成一个可以点击的元素看看效果,只能使用排除法了。等到这个问题解决再来继续更新。
 

 

猜你喜欢

转载自blog.csdn.net/zhanghuanhuan1/article/details/81409476
今日推荐