vue项目苹果ios12系统手机,输入框键盘回弹留下了空白遮罩的处理方式
1、问题表现:H5开发,下单页面,下图所示,在ios 12系统的苹果手机端,在输入电话号,之类信息,经常点击去支付没有任何反应,页面上下滑动,再点击,就可以支付
2、原因分析:结合页面表现,查了网上资料,ios12系统键盘回收后会留下一个透明的遮罩层,在点击页面底部,点击事件没法穿透遮罩层,相当于事件被拦截了。
3、处理方式,项目用的vue开发的,处理思路:在input失去焦点后,页面上下滚动1px,去除遮罩层;该方法作用所有input需要在input用@blur=iosBlur引入
iosBlur() { let ua = window.navigator.userAgent;
//$alert('浏览器版本: ' + app + '\n' + '用户代理: ' + ua);
if (!!ua.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)) {
//ios系统
let currentPosition, timer;
let speed = 1;
timer = setInterval(function () {
currentPosition =
document.documentElement.scrollTop || document.body.scrollTop;
currentPosition -= speed;
window.scrollTo(0, currentPosition); //页面向上滚动
currentPosition += speed;
window.scrollTo(0, currentPosition); //页面向下滚动
clearInterval(timer);
// alert("失去焦点")
console.log("失去焦点")
}, 100);
}
}
以上是 vue项目苹果ios12系统手机,输入框键盘回弹留下了空白遮罩的处理方式 的全部内容, 来源链接: utcz.com/z/376143.html