之前遇到一个bug,前提因素:
1. vue项目
2. 弹出层popup
3. ios手机
4. 弹出层中的input获取焦点后 点击键盘上的“完成”按钮收起键盘,再次触发input获取焦点发现没有反应。
分析原因后,发现实则是弹出层随着键盘的收起和展开进行了下移和上移,而元素的点击位置没有实时变化,如下:
正常的时候:
唤起键盘:
收起键盘后:实则弹层位置还没归位
所以,需要实现收起后 弹层归位,代码如下:
/**
* 收起键盘导致弹层位置错乱,需要强制滚动页面,让它归位
*/
let isReset = true; //是否归位
if (cm.getDevice() === 'ios') {
document