设为首页收藏本站
天天打卡

 找回密码
 立即注册
搜索
查看: 42|回复: 11

HTML5键盘弹起遮挡输入框的解决方法

[复制链接]

4

主题

54

回帖

196

积分

注册会员

积分
196
发表于 2024-4-20 09:46:15 | 显示全部楼层 |阅读模式
一、前言:

混合开发中遇到一个问题,有些型号的安卓机和ios机型,输入框唤起键盘后,输入框会被键盘遮挡,需要手动滑动才能漏出来,影响用户体验
二、解决办法:

1.ios和android手机唤起的windows事件不一样,要分别处理
2.document.body.scrollTop无效,可以用document.documentElement.scrollTop替换
三、具体实现过程:
  1. // 判断手机 - ios/andriod
  2. function isIOS() {
  3.   const u = navigator.userAgent;
  4.   return !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
  5. }
  6. /**
  7.   * @description: 键盘弹起,输入框被遮挡
  8.   */
  9. function judgeInput() {
  10.   if (isIOS()) {
  11.     window.addEventListener('focusin', function () {
  12.       console.log(1+document.activeElement.tagName);
  13.       if (
  14.         document.activeElement.tagName === 'INPUT' ||
  15.         document.activeElement.tagName === 'TEXTAREA'
  16.       ) {
  17.         setTimeout(function () {
  18.           document.documentElement.scrollTop = document.body.scrollHeight;
  19.         }, 0);
  20.       }
  21.     });
  22.   } else {
  23.     window.addEventListener('resize', function () {
  24.       console.log(2+ document.activeElement.tagName);
  25.       if (
  26.         document.activeElement.tagName === 'INPUT' ||
  27.         document.activeElement.tagName === 'TEXTAREA'
  28.       ) {
  29.         setTimeout(function () {
  30.           document.activeElement.scrollIntoView();
  31.         }, 0);
  32.       }
  33.     });
  34.   }
  35. }
  36. export {
  37.   isIOS,
  38.   judgeInput
  39. }
复制代码
铛铛铛,实现啦,用的时候直接调用judgeInput()就行
到此这篇关于HTML5键盘弹起遮挡输入框的解决方法的文章就介绍到这了,更多相关h5键盘弹起遮挡输入框内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

1

主题

65

回帖

153

积分

注册会员

积分
153
发表于 2024-4-28 05:38:16 | 显示全部楼层
666666666666666666

0

主题

52

回帖

103

积分

注册会员

积分
103
发表于 2024-6-15 22:04:37 | 显示全部楼层
同意你的观点,我们有共鸣。

1

主题

46

回帖

116

积分

注册会员

积分
116
发表于 2024-6-17 10:14:36 | 显示全部楼层
友善的讨论氛围是非常重要的。
  • 打卡等级:无名新人
  • 打卡总天数:2
  • 打卡月天数:0
  • 打卡总奖励:24
  • 最近打卡:2024-08-26 11:29:02

2

主题

57

回帖

183

积分

注册会员

积分
183
发表于 2024-6-20 21:42:31 | 显示全部楼层
我们一起努力,共同解决问题吧。

1

主题

44

回帖

109

积分

注册会员

积分
109
发表于 2024-7-3 05:26:20 | 显示全部楼层
我想了解更多

2

主题

62

回帖

170

积分

注册会员

积分
170
发表于 2024-7-19 20:48:11 | 显示全部楼层
我完全同意你的观点

1

主题

38

回帖

98

积分

注册会员

积分
98
发表于 2024-8-3 13:59:05 | 显示全部楼层
非常感谢你的观点,让我受益良多!

2

主题

68

回帖

178

积分

注册会员

积分
178
发表于 2024-8-5 22:40:03 | 显示全部楼层
666666666666

1

主题

48

回帖

117

积分

注册会员

积分
117
发表于 2024-9-16 20:47:36 | 显示全部楼层
非常感谢你的观点,让我受益良多!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|爱云论坛 - d.taiji888.cn - 技术学习 免费资源分享 ( 蜀ICP备2022010826号 )|天天打卡

GMT+8, 2024-11-24 07:50 , Processed in 0.102536 second(s), 26 queries .

Powered by i云网络 Licensed

© 2023-2028 正版授权

快速回复 返回顶部 返回列表