在开发H5应用的时候去适配微信浏览器,
发现当ios端在文本输入时,会引发键盘的反复闪烁,输入密码时则不会
相反在安卓端表现良好
因为浏览器的重绘行为确实头疼,一开始采用的是给input设置 autoComplete="off"
又或是监听软键盘弹起时将底部布局隐藏,将布局上移,效果都不如人意。
结论得出相邻的输入框会引发ios的自动密码填充,需要对其进行阻断,在账号和密码之间设置一个隐藏的input 去阻断账号密码之间的联动
<input type="number" placeholder-style="color:#BABABA;font-size:28rpx" v-model="userName" placeholder="请输入手机号" autoComplete="off" />
<input type="text" value="" style=" opacity: 0; width: 0;height: 0; />
<input type="password" placeholder-style="color:#BABABA;font-size:28rpx" v-model="password" autoComplete="new-password"placeholder="请输入密码" />
同时给账号文本输入框设置
//适用于普通文本
autoComplete="off"
给密码输入框设置
//适用于密码输入框
autoComplete="new-password"
详情可以看看这位大哥的 原文掘金链接