H5 输入框键盘弹出收起

这篇具有很好参考价值的文章主要介绍了H5 输入框键盘弹出收起。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 . 安卓系统 下点击输入框 键盘弹出以及收起 会使得webview 的窗口高度发生变化

键盘弹出的时候:

webview的原高度 = 键盘的高度 + webview 现在的窗口高度

Ios 系统 下 键盘弹出收起不会影响webview 的窗口高度发生变化

键盘弹出的时候 可以监听focusin事件; 键盘收起的时候 可以监听focuout 事件; (focusin/focusout 支持冒泡)

但是安卓系统下 点击键盘的右边的收起 不会触发 focuout事件;  只有其他空白处使得光标失去焦点(blur) 才会触发;  所以安卓下 可以通过判断 webview 的高度变化 来 监听键盘的弹出收起; 

h5收起键盘,ios,vue,前端,html,javascript

安卓下 
//获取原窗口的高度
      var originalHeight=document.documentElement.clientHeight ||document.body.clientHeight;
      window.onresize = function() {
        // alert('高度发现变化')
          //键盘弹起与隐藏都会引起窗口的高度发生变化
          var resizeHeight=document.documentElement.clientHeight || 
           document.body.clientHeight;
          const activeEl = document.activeElement; // 获取当前点击的元素
          if(resizeHeight<originalHeight){
            //当软键盘弹起,在此处操作
            console.log('当软键盘弹起,在此处操作')
            if (activeEl.tagName === 'INPUT' || activeEl.tagName === 'TEXTAREA') {}
          } else {
          //当软键盘收起,在此处操作
            console.log('当软键盘收起,在此处操作')
            if (activeEl.tagName === 'INPUT' || activeEl.tagName === 'TEXTAREA') {
                activeEl.blur
            }
          }
      }
Ios 系统下
document.body.addEventListener("focusin", (e) => {

});
document.body.addEventListener("focusout", () => {
});
单独的input/textarea 监听键盘弹出、收起就监听各自的foucs/blur 事件

参考:

彻底解决H5中键盘遮挡输入框的问题 - 知乎

h5手机键盘弹出收起的处理 | Hzzly文章来源地址https://www.toymoban.com/news/detail-520203.html

到了这里,关于H5 输入框键盘弹出收起的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • H5 防止安卓手机软键盘弹出挤压页面导致变形的方法

    H5 防止安卓手机软键盘弹出挤压页面导致变形的方法

    在做移动端h5页面时,安卓端软键盘会导致页面压缩变形的问题:(安卓端有问题,IOS端没问题) 安卓端:安卓中,如果将footer元素设置为position:fixed或absolute,因为软键盘会改变页面的高度(将页面顶上来),因此footer元素也跟着移动上来,导致页面变形; IOS端:苹果的软

    2024年02月13日
    浏览(10)
  • h5键盘弹起遮挡输入框的处理

    h5键盘弹起遮挡输入框的处理

    一、前言: 混合开发中遇到一个问题,有些型号的安卓机和ios机型,输入框唤起键盘后,输入框会被键盘遮挡,需要手动滑动才能漏出来,影响用户体验 二、解决办法: 1.ios和android手机唤起的windows事件不一样,要分别处理 2.document.body.scrollTop无效,可以用document.documentElemen

    2024年02月15日
    浏览(9)
  • iOS微信小程序键盘弹出时输入框被挡住

    iOS微信小程序键盘弹出时输入框被挡住

    1. 背景: 底部输入框采用fixed定位后,在iPhone13这种有底部安全区的手机上,键盘弹出时被遮挡,在安卓机上是正常的。 2. 查找问题: 看了网上的解决方案说设置“adjust-position”,试了一下没效果,本来现在这个属性也是默认为true的,看网上另一个解决方案就是判断键盘弹

    2024年02月12日
    浏览(46)
  • 移动端H5页面在input输入框获得焦点时禁止唤起键盘

    移动端H5页面在input输入框获得焦点时禁止唤起键盘

    移动端 实现效果: 当input输入框获得焦点时,在保留光标的情况下,又不让手机虚拟键盘弹起 问题背景: 哈哈哈哈 我又来了,又是java安卓应用嵌入H5页面,给大家看下效果 点击开始时间或者结束时间时会弹出日期选择器,这个时候呢在手机上看的话,会同时触发键盘,导

    2024年02月16日
    浏览(17)
  • uniapp微信小程序 实现评论键盘弹出的时候 有两个输入框,第一个输入框被禁用并绑定了点击事件,点击后想要触发第二个输入框获取焦点并弹出键盘。但是在 iOS 真机上点击后键盘会短暂失去焦点

    问题 :我现在有一个需求就是 要实现输入评论  有两个输入框,第一个输入框被禁用并绑定了点击事件,点击后想要触发第二个输入框获取焦点并弹出键盘。但是在 iOS 真机上点击后键盘会短暂失去焦点  安卓真机测试没有问题 原因 : 1. iOS 上输入框聚焦有一个显式的动画过

    2024年02月04日
    浏览(43)
  • h5(html5)+css3前端笔记二

    h5(html5)+css3前端笔记二

    一、表格标签 表格的主要作用: 表格主要用于 显示、展示数据 ,因为它可以让数据显示的非常的规整,可读性非常好。特别是后台展示数据的时候,能够熟练运用表格就显得很重要。一个清爽简约的表格能够把繁杂的数据表现得很有条理。 1. table/table 用来定义表格的标签

    2024年02月14日
    浏览(19)
  • h5键盘弹起底部菜单(按钮)被顶起-vue自定义指令解决

            开发H5中测试过程中发现在安卓手机上,input/textarea 获取焦点 软键盘弹出 会让absolute/fixed或者使用flex局部 固定在底部的元素(固定底部栏)顶起来问题;在搜索后发现安卓上在键盘弹起的时候浏览器   body height 100%   其实只有键盘以上范围,这里决解方法有很多可

    2024年02月12日
    浏览(29)
  • vue h5 项目中与 app 安卓 or ios 进行交互 方式, h5与app交互

    vue h5 项目中与 app 安卓 or ios 进行交互 方式, h5与app交互

    vue h5 项目中与 app 安卓 or ios 进行交互 方式, h5与app交互 前端同学可以加我一起交流一起进步 案例描述:需求是 混合开发中,H5页面与原生app安卓或者ios交互(包括,调用app的方法,或者app调用 h5中定义的方法)从而实现交互 项目场景:开发帮助中心页面,帮助中心页面采

    2024年02月11日
    浏览(13)
  • Vue(h5)与App(android,ios)端交互详解

    Vue(h5)与App(android,ios)端交互详解

    最近开发vue与app交互,总结了一下开发心得。我是一名Android开发者,vue开发这块也稍有涉足,在android或者IOS中展示h5可以减少工作量,也能满足用户体验性。下面主要以Android和Vue方法介绍为主。 上菜了     三、 vue代码 注意,Vue中的方法通常是写在vue实例的methods中的,ap

    2024年02月10日
    浏览(12)
  • uniapp多行文本展开或收起(兼容h5、微信小程序,其它未测试)

    uniapp多行文本展开或收起(兼容h5、微信小程序,其它未测试)

    文本过短时隐藏按钮,需要知道文本全部展示的行数 文本收起时,微信小程序不能直接获取文本展示的高度 文本展示时,微信小程序不能直接获取文本收起的高度 所以使用 占位文本 获取单行文本高度,最终通过计算得到文本全部展示时的行数 本文介绍的方法兼容h5、微信

    2024年02月02日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包