微信打开网页键盘弹起后页面上滑,导致弹框里的按钮响应区域错位

微信打开网页键盘弹起后页面上滑,导致弹框里的按钮响应区域错位

微信打开网页如:https://img.zai-art.com/web/app/demo/weixin.html

微信IOS 6.7.4 键盘弹起页面上滑,键盘收起页面不会回到原位置,导致弹框(css设置position为fixed会有问题,absolute不会有问题)后按钮响应区域错位。

微信打开网页,<input /> <textarea/>获取焦点或者<select></select>标签获取焦点弹起键盘时页面被顶起,点击确定页面没有回到原先的位置,导致视图和触控区域错位。

正常情况下:点弹窗里的按钮,弹窗是可以关闭的

 但是有些微信版本里面,会出现键盘拉起和收掉之后,页面无法恢复到底部,会导致position为fixed内部的按钮无法点击了。

键盘收起之后,页面无法恢复到原来的位置

-问题复现

1、打开网页:https://img.zai-art.com/web/app/demo/weixin.html

2、输入框光标聚焦,键盘弹出

3、收起键盘,点击 “弹框” 按钮

4、点击弹框中的 “点我” 按钮 (正常响应弹框会消失)

开发者回复:

我也发现 微信IOS 6.7.4版本 搭配 IOS12版本 会有这个问题,需要滑动一下页面才能回到原来的位置

 解决方案一:

微信开发者回复: 在点击按钮那里加下面其中一个即可解决

//滚动到顶部
window.scrollTo(0, 0);
//滚动到底部
window.scrollTo(0, document.documentElement.clientHeight);

解决方案二:

在input失去焦点的时候 用代码控制页面滑动一下可以修复此问题

document.body.scrollTop = 0;

测试成功:

$("input").blur(function () {
   $("html,body").animate({scrollTop: document.documentElement.clientHeight},500);
});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值