微信打开网页键盘弹起后页面会被顶上去,键盘收起,页面无法回到原来的位置,导致弹框里的按钮响应区域错位 position为fixed...

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

微信打开网页如: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);
});

 

转载于:https://www.cnblogs.com/shimily/articles/10304618.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当我们在使用手机或平板电脑时,点击输入框时,系统自动弹出软键盘。软键盘弹出时,输入框被键盘遮挡住,导致我们无法继续输入或者查看我们输入的内容。这时,页面自动上移,将输入框移到可视范围内,以便我们继续输入页面顶部被软键盘遮挡是因为系统默认情况下,软键盘弹出在页面底部。为了解决这个问题,可以通过调整页面布局或使用特定的技术手段来解决。 一种常见的解决方案是使用特定的组件或库来处理输入框被键盘遮挡的问题。这些组件或库可以自动监听软键盘的弹出事件,并在软键盘弹出时,自动调整页面布局,使输入框上移,从而避免输入框被遮挡。这种方式可以使页面的用户体验更好,避免用户在输入时受到干扰。 另一种解决方案是通过手动调整页面布局来解决输入框被键盘遮挡的问题。这种方式需要开发人员手动监听软键盘的弹出事件,在软键盘弹出时,通过改变页面布局,将输入框上移,使其显示在软键盘上方,从而避免被遮挡。这种方式相对复杂一些,需要开发人员对页面布局和软键盘事件有一定的了解。 总的来说,无论是使用特定的组件或库,还是通过手动调整布局,都可以解决输入框被键盘遮挡的问题。通过这些解决方案,我们可以确保输入框在软键盘弹出时能够被正常显示,从而提供更好的用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值