vue 解决文本框被键盘遮住的问题


Posted in Javascript onNovember 06, 2019

如下所示:

vue 解决文本框被键盘遮住的问题

vue 解决文本框被键盘遮住的问题

我把它写成了组件

主要代码是

document.getElementById(this.FullScreenId).scrollTop = document.getElementById(this.FullScreenId).scrollHeight

我这边把div满屏了看下面css就知道了

你也可以使用body,这个你行百度一下就可以了

注意点是css

/* 页面满屏 */
.pageFullScreen {
 height: 100%;
 position: absolute;
 top: 0;
 right: 0;
 bottom: 0;
 left: 0;
 overflow: auto;
}

父组件

<style>
</style>
<template>
 <div id="testFullScreenId" class="pageFullScreen">
  <div style="height: 500px; background-color: #eee;overflow-y: scroll;-webkit-overflow-scrolling: touch;"></div>
   <inputList type="test" @inputListClick="inputListClick" FullScreenId="testFullScreenId" v-model="inputVal" @inputListFocus="focus" @inputListBlur="blur"></inputList>
   <br />
   <button @click="sub">获取input值</button>
   <br />
   <inputList type="test" @inputListClick="inputListClick" FullScreenId="testFullScreenId" v-model="inputVal" @inputListFocus="focus" @inputListBlur="blur"></inputList>
 </div>
</template>
<script>
 import inputList from '../../components/input' // input
 export default {
  components: {
   inputList
  },
  data() {
   return {
    imagesUrl: { // 排版图片使用懒加载
    },
    inputVal: ''
   }
  },
  created() {
  },
  mounted() {
  },
  methods: {
   focus(e) {
    console.log(e)
   },
   blur(e) {
    console.log(e)
   },
   inputListClick(e) {
    console.log(e)
   },
   sub() {
    alert(this.inputVal)
    console.log(this.inputVal)
   }
  }
 }
</script>

子组件

<style>
.inputList {}
</style>
<template>
 <!-- 父组件使用v-model发送input事件就可以接收到了 -->
 <div class="inputList">
  <input :type="type" @click="inputListClick($event)" @input="inputListInput($event)" @focus="inputListFocus($event)" @blur="inputListBlur($event)">
 </div>
</template>
<script>
 export default {
  name: 'inputList',
  props: {
   type: { // 文本框类型
    type: String,
    default: 'text'
   },
   FullScreenId: { // 文本框被键盘遮住
    type: String,
    default: ''
   }
  },
  data() {
   return {
    imagesUrl: { // 排版图片使用懒加载
    },
    pageHeightOne: '', // 页面高度
    pageHeightTow: ''
   }
  },
  created() {
  },
  mounted() {
   // window.onresize监听页面高度的变化
   window.onresize = () => {
    return (() => {
     // window.scroll(0, 0) // 滚到顶部
     document.getElementById(this.FullScreenId).scrollTop = document.getElementById(this.FullScreenId).scrollHeight
    })()
   }
  },
  methods: {
   // 键盘输入
   inputListInput(e) {
    if (typeof e.target.value === 'string') {
     if (/[\u4e00-\u9fa5]/.test(e.target.value)) {
      e.target.value = ''
     } else {
      // console.log('合格')
     }
    } else {
     console.log('数据类型不正确')
    }
    this.$emit('input', e.target.value)
   },
   // 获取焦点
   inputListFocus(e) {
    // console.log(e)
    this.$emit('inputListFocus', 'focus')
   },
   // 失去焦点
   inputListBlur(e) {
    // console.log(e)
    this.$emit('inputListBlur', 'blur')
   },
   // 点击
   inputListClick(e) {
    this.$emit('inputListClick', 'click')
   }
  }
 }
</script>
Javascript 相关文章推荐
用js自动判断浏览器分辨率的代码
Jan 28 Javascript
原型方法的不同写法居然会影响调试的解决方法
Mar 08 Javascript
Javascript自定义排序 node运行 实例
Jun 05 Javascript
JS预览图像将本地图片显示到浏览器上
Aug 25 Javascript
基于Bootstrap实现tab标签切换效果
Apr 15 Javascript
JS中去掉array中重复元素的方法
May 26 Javascript
javascript基于牛顿迭代法实现求浮点数的平方根【递归原理】
Sep 28 Javascript
BootStrap Validator 根据条件在JS中添加或移除校验操作
Oct 12 Javascript
Koa项目搭建过程详细记录
Apr 12 Javascript
jQuery属性选择器用法实例分析
Jun 28 jQuery
vue-cli4项目开启eslint保存时自动格式问题
Jul 13 Javascript
vue添加锚点,实现滚动页面时锚点添加相应的class操作
Aug 10 Javascript
vue点击页面空白处实现保存功能
Nov 06 #Javascript
vue  elementUI 表单嵌套验证的实例代码
Nov 06 #Javascript
微信小程序网络请求实现过程解析
Nov 06 #Javascript
vue 自定义右键样式的实例代码
Nov 06 #Javascript
vue elementUI 表单校验的实现代码(多层嵌套)
Nov 06 #Javascript
vue 解决computed修改data数据的问题
Nov 06 #Javascript
微信小程序页面渲染实现方法
Nov 06 #Javascript
You might like
php生成txt文件标题及内容的方法
2014/01/16 PHP
PHP SPL标准库之数据结构栈(SplStack)介绍
2015/05/12 PHP
PHP超全局数组(Superglobals)介绍
2015/07/01 PHP
laravel框架中间件简单使用方法示例
2020/01/25 PHP
javascript 面向对象全新理练之原型继承
2009/12/03 Javascript
js 图片等比例缩放代码
2010/05/13 Javascript
两个select多选模式的选项相互移动(示例代码)
2014/01/11 Javascript
bootstrap-treeview自定义双击事件实现方法
2016/01/09 Javascript
node.js从数据库获取数据
2016/05/08 Javascript
利用JQuery阻止事件冒泡
2016/12/01 Javascript
利用ES6语法重构React组件详解
2017/03/02 Javascript
微信小程序实现图片轮播及文件上传
2017/04/07 Javascript
jQuery EasyUI Layout实现tabs标签的实例
2017/09/26 jQuery
JS+HTML+CSS实现轮播效果
2017/11/28 Javascript
layui 实现table翻页滚动条位置保持不变的例子
2019/09/05 Javascript
解决layer 关闭当前弹窗 关闭遮罩层 input值获取不到的问题
2019/09/25 Javascript
JavaScript单线程和任务队列原理解析
2020/02/04 Javascript
基于VUE实现判断设备是PC还是移动端
2020/07/03 Javascript
JavaScript实现缓动动画
2020/11/25 Javascript
Python中不同进制互相转换(二进制、八进制、十进制和十六进制)
2015/04/05 Python
用Python实现KNN分类算法
2017/12/22 Python
python3个性签名设计实现代码
2018/06/19 Python
Win10下python3.5和python2.7环境变量配置教程
2018/09/18 Python
Pandas中DataFrame的分组/分割/合并的实现
2019/07/16 Python
Python for i in range ()用法详解
2020/09/18 Python
Python中join()函数多种操作代码实例
2020/01/13 Python
python中如何进行连乘计算
2020/05/28 Python
Python自省及反射原理实例详解
2020/07/06 Python
今天学到的CSS最新技术(与图片背景相关)
2012/12/24 HTML / CSS
Space NK英国站:英国热门美妆网站
2017/12/11 全球购物
酒店经理职责
2014/01/30 职场文书
工程师岗位职责规定
2014/02/26 职场文书
教师演讲稿开场白
2014/08/25 职场文书
幼儿园大班教师个人工作总结
2015/02/05 职场文书
入党自荐书范文
2015/03/05 职场文书
歌舞青春观后感
2015/06/10 职场文书