首页 > 其他分享 >原生js解决ios手机input输入框弹出覆盖问题

原生js解决ios手机input输入框弹出覆盖问题

时间:2022-08-25 16:12:10浏览次数:73  
标签:function document ios js 输入框 input hidden activeElement 弹起

背景:

软键盘弹起挡住input框
软键盘弹起页面布局乱掉
安卓手机 + 界面父级组件使用了overflow: hidden 导致键盘弹出(页面本质上变小了)仍然不可滚动
解决思路:
父级别不要使用overlow:hidden 或者 键盘弹起的时候去掉overflow: hidden.
总之要确保键盘弹起的时候页面仍然可以拖动。 不然界面很容易乱
实现原生js方法

(function() {
  window.addEventListener("resize", function() {
    if (!document.activeElement) return;
    if (
      document.activeElement.tagName == "INPUT" ||
      document.activeElement.tagName == "TEXTAREA"
    ) {
      window.setTimeout(function() {
        document.activeElement.scrollIntoViewIfNeeded();
      }, 0);
    }
  });
})();

  

标签:function,document,ios,js,输入框,input,hidden,activeElement,弹起
From: https://www.cnblogs.com/ygunoil/p/16624587.html

相关文章

  • JS监听了select的onchange事件
    <selectid="sel_YJCL"runat="server"></select><inputtype="button"id="btn_YJCL"runat="server"style="display:none"onserverclick="dp_YJCL_SelectedIndexCh......
  • python json用法 dump和dumps的区别;loads()和load()的区别
    json常用方法方法作用json.dumps()将python对象编码成Json字符串json.loads()将Json字符串解码成python对象json.dump()将python中的对象转化成json储存到......
  • ES Modules in Node.js
    ESM在Node.js中的支持情况Node.js在8.5版本过后,开始以实验特性支持ESMNode中使用ESM的条件及步骤Node版本需大于8.5模块文件名需为mjs启动node时需......
  • js面试题之统计字符串中出现次数最多的字符,并统计次数
    <script>//题目:统计出现最多的字符,并统计次数letstr="aaaabbbccccdddddddd"varobj={}//1.统计次数for(vari=0;......
  • 5. json--数组
    1.前言数组是值的有序集合,JSON中的数组与JavaScript中的数组相似,同样需要使用方括号[]定义,方括号中为数组中的若干值,值可以是JSON中支持的任意类型(例如字符串、数字......
  • axios请求响应拦截器的应用
    什么是axios拦截器?一般在使用axios时,会用到拦截器的功能,一般分为两种:请求拦截器、响应拦截器。请求拦截器在请求发送前进行必要操作处理例如添加统一cookie、请求体加......
  • js filter 改变数组属性值 原数组属性值也会改变
    今天遇到一个问题,用filter过滤数组后,并改变数组的属性值发现原数组也跟着改变了,这个filter方法说会返回一个新数组不会改变原数组针对的是值类型,引用类型的不适用!场......
  • 2022-08-22 第二小组 张晟源(JS)
    JSBOM:浏览器对象模型BOM核心对象window回调函数一个函数的参数是另一个函数<script>letcallback=function(a){}//箭头函数......
  • <input> 实现输入框只能输入数字
    1.使用JS限制input输入框只能输入纯数字onkeyup="value=value.replace(/[^\d]/g,'')"使用onkeyup事件,有bug ,那就是在中文输入法状态下,输入汉字之后直接回车,......
  • iOS开发入门基础篇
    iOS开发入门 任何C源程序,不经修改,即可通过Objective-C编译器成功编译Objective-C源程序中可以直接使用任何C语言代码除了面向对象有语法是SmallTalk风格的(下面会讲到),其......