记录下今天项目中遇到的两个问题。
场景: 页面中有个使用position:fixed定位的层,层中有input文本框,button按钮,如登录表单。
1. 在ios 11.2.1版本中,点击手机号文本框,输入文字,调起键盘,再手动收起键盘,再定位到验证码文本框,会发现无法定位,并且触发了提交按钮的click事件。
思考:因键盘收起和调起都会影响fixed定位层的显示位置,似乎在手动关闭键盘时,层的位置视沉觉上是发生了变化,但按钮input还停在键盘弹起时所停留的位置,所以键盘显示时,button在验证码的位置,而点击验证码时, 点到的是button。
2.在IOS 13.5.1版本中,点击手机号文本框,输入文字,调起键盘,再手动收起键盘,再点击手机号文本框,光标不显示,但能输入文字。
思考:查看了该表单在其它页面的展示,没有出现这个问题,猜测应该是position:fixed的原因。
解决办法: 将position:fixed定位的这个层,改成position:absolute; 就可以了 目前情况可以改成absolute,如果遇到不能absolute的场景,还要想其它的办法。