解决vue js IOS H5focus无法自动弹出键盘的问题


Posted in Javascript onAugust 30, 2018

IOS不自动弹出键盘,必须手动触发一下focus才行,不能自动调用,所以需要诱导用户点击某个按钮触发focus,最终修改的方法,默认隐藏密码输入框,隐藏不能用v-if或者是v-show,用position:absolute, top:-1000,然后点击输入密码将top改为视窗内,并且调用focus的方法

代码如下,有问题欢迎评论

<template>
 <div class="pwdpush-box">
  <h4 class="enter-password" @click="enterPwd">输入密码</h4>
  <div class="phonenum-show" :class="pushShow?'':'write-phonenum-1000'">
   <div class="write-phonenum">
    <p @click.prevent="pushShow = false">使用余额支付 8864</p>
    <p>支付密码:</p>
    <ul class="write-input clearfix">
     <input type="tel" ref="input" maxlength="6" class="realInput" v-model="realInput" autofocus @keyup="getNum()" v-focus @keydown="delNum()">
     <li v-for="disInput in disInputs"><input type="tel" maxlength="1" disabled v-model="disInput.value"></li>
    </ul>
    <mt-button size="large" style="margin-top:80px;" @click="goPay">确认支付</mt-button>
   </div>
  </div>
 </div>
</template>

<script>
import { Field,Toast ,Indicator} from 'mint-ui';
import {headerNav,bottomShow} from '../../vuex/actions/actionDoc'
export default {
 name: 'packe',
 vuex: {
  actions:{
   headerNav,
   bottomShow
  }
 },
 data(){
  return{
   messagepacket:false,
   packets:[

   ],
   disInputs:[{value:''},{value:''},{value:''},{value:''},{value:''},{value:''}],
   realInput:'',
   pushShow:false

  }
 },
 mounted(){
  this.headerNav(false)
  this.bottomShow(false)
 },
 methods:{
  getNum(){
   for(var i=0;i<this.realInput.length;i++){
    this.disInputs[i].value=this.realInput.charAt(i)
    // 表示字符串中某个位置的数字,即字符在字符串中的下标。
   }
  },
  delNum(){
   var oEvent = window.event;
   if (oEvent.keyCode == 8) {
    if(this.realInput.length>0){
     this.disInputs[this.realInput.length-1].value=''
    }
   }
  },
  goPay(){
    console.log(this.realInput)
  },
  enterPwd(){
    this.pushShow = true;
    this.$refs.input.focus()
  }
 }
}
</script>
<style lang="less" sconed>
 .enter-password{
  text-align: right;
  color:#1D890D;
  font-size: 18px;
  line-height: 2;
  margin-top:20px;
  padding-right: 20px;
 }
 .phonenum-show{
  background: rgba(0,0,0,0.6);
  position: absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  z-index: -1;
 }
 .getback-title span{position: absolute;right:0;top:3px;width:15px;height:15px;display: inline-block;}
 .write-phonenum-1000{
  top:-1000px!important;
 }
 .write-phonenum{
  position: absolute;
  top:50%;
  margin-top:-100px;
  left:0;
  right:0;
  bottom:0;
  z-index: 2;
  padding:30px 10px 0;
  background: #fff;
 }
 .write-phonenum p{
  font-size: 14px;
  margin-left:30px;
  line-height:2;
 }
 .write-phonenum p span{color: #3b90d1;}
 .write-input {width:312px; margin:10px auto; position: relative;}
 .write-input li{float: left;width:30px;height:30px; margin: 0 10px; border:1px solid #888888;}
 .write-input li input{-webkit-appearance: none;-moz-appearance: none;-ms-appearance: none;resize: none;outline: none;border:0;width:30px;line-height: 30px;text-align: center;height: 30px;font-size:16px;}
 .write-phonenum .mint-button--default{background: #3b90d1;color:#fff;font-family: "微软雅黑";font-size: 14px;width:80%;margin:10px auto;}
 .realInput{
  /* Keyword values */
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  resize: none;
  outline: none;
  border: 0;
  z-index: 3;
  position: absolute;
  width: 290px;
  height: 30px;
  line-height: 30px;
  background: none;
  display: block;
  left: 50%;
  margin-left: -145px;
  top: 34px;
  opacity: 0;
  font-size: 0px;
  caret-color: #fff;
  color: #000;
  text-indent: -5em;
  font-size: 30px;
  top:1px;
 }
 input[type="tel"]:disabled{background-color: #fff;}
</style>

以上这篇解决vue js IOS H5focus无法自动弹出键盘的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery 实现的全选和反选
Apr 15 Javascript
JQuery 写的个性导航菜单
Dec 24 Javascript
jquery使用jquery.zclip插件复制对象的实例教程
Dec 04 Javascript
JS实现淘宝支付宝网站的控制台菜单效果
Sep 28 Javascript
JS根据生日月份和日期计算星座的简单实现方法
Nov 24 Javascript
js实现模糊匹配功能
Feb 15 Javascript
利用js的闭包原理做对象封装及调用方法
Apr 07 Javascript
使用D3.js创建物流地图的示例代码
Jan 27 Javascript
总结js函数相关知识点
Feb 27 Javascript
jquery.param()实现数组或对象的序列化方法
Oct 08 jQuery
微信小程序Echarts覆盖正常组件问题解决
Jul 13 Javascript
vue element-ui读取pdf文件的方法
Nov 26 Javascript
在Vue methods中调用filters里的过滤器实例
Aug 30 #Javascript
vue 根据数组中某一项的值进行排序的方法
Aug 30 #Javascript
对vue中methods互相调用的方法详解
Aug 30 #Javascript
原生JS+HTML5实现的可调节写字板功能示例
Aug 30 #Javascript
10分钟彻底搞懂Http的强制缓存和协商缓存(小结)
Aug 30 #Javascript
解决jQuery使用append添加的元素事件无效的问题
Aug 30 #jQuery
jsonp跨域及实现百度首页联想功能的方法
Aug 30 #Javascript
You might like
PHP - Html Transfer Code
2006/10/09 PHP
实用函数10
2007/11/08 PHP
PHP Smarty生成EXCEL文档的代码
2008/08/23 PHP
PHP session_start()问题解疑(详细介绍)
2013/07/05 PHP
PHP 获取文件权限函数介绍
2013/07/11 PHP
PHP学习笔记(三):数据类型转换与常量介绍
2015/04/17 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
2015/07/06 PHP
yii2.0实现pathinfo的形式访问的配置方法
2016/04/06 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
优化 JavaScript 代码的方法小结
2009/07/16 Javascript
JavaScript判断变量是否为undefined的两种写法区别
2013/12/04 Javascript
js生成的验证码的实现与技术分析
2014/09/17 Javascript
jquery插件qrcode在线生成二维码
2015/04/26 Javascript
Vue2.0基于vue-cli+webpack父子组件通信(实例讲解)
2017/09/14 Javascript
Angular2使用vscode断点调试ts文件的方法
2017/12/13 Javascript
对类Vue的MVVM前端库的实现代码
2018/09/07 Javascript
详解基于Wepy开发小程序插件(推荐)
2019/08/01 Javascript
详解如何在Javascript和Sass之间共享变量
2019/11/13 Javascript
[07:03]显微镜下的DOTA2第九期——430圣堂刺客杀戮秀
2014/06/20 DOTA
python通过cookie模拟已登录状态的初步研究
2016/11/09 Python
Python xlwt设置excel单元格字体及格式
2020/04/18 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
2019/05/13 Python
OpenCV图像颜色反转算法详解
2019/05/13 Python
python3下载抖音视频的完整代码
2019/06/05 Python
Tensorflow实现部分参数梯度更新操作
2020/01/23 Python
Python3 pyecharts生成Html文件柱状图及折线图代码实例
2020/09/29 Python
The North Face北面英国官网:美国著名户外品牌
2017/12/13 全球购物
如何为DataGridView添加一个定制的Column Type
2014/01/21 面试题
酒店执行总经理岗位职责
2013/12/15 职场文书
2015毕业生实习期工作总结
2015/04/09 职场文书
设备技术员岗位职责
2015/04/11 职场文书
2015年公司工作总结
2015/04/25 职场文书
“学党章、守党纪、讲党规”学习心得体会
2016/01/14 职场文书
导游词之襄阳古城
2019/09/27 职场文书
Oracle更换为MySQL遇到的问题及解决
2021/05/21 Oracle
【海涛解说】暗牧也疯狂,牛蛙成配角
2022/04/01 DOTA