解决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 相关文章推荐
js资料toString 方法
Mar 13 Javascript
javascript 主动派发事件总结
Aug 09 Javascript
使用javascript过滤html的字符串(注释标记法)
Jul 08 Javascript
node.js中的fs.writeFile方法使用说明
Dec 14 Javascript
深入理解JavaScript系列(17):面向对象编程之概论详细介绍
Mar 04 Javascript
关于vue的语法规则检测报错问题的解决
May 21 Javascript
详解vuex commit保存数据技巧
Dec 25 Javascript
微信小程序生成二维码的示例代码
Mar 29 Javascript
Vue起步(无cli)的啊教程详解
Apr 11 Javascript
layui radio点击事件实现input显示和隐藏的例子
Sep 02 Javascript
antd design table更改某行数据的样式操作
Oct 31 Javascript
JavaScript实现前端倒计时效果
Feb 09 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
Laravel5.1自定义500错误页面示例
2016/10/09 PHP
PHP中PCRE正则解析代码详解
2019/04/26 PHP
PHP保存Base64图片base64_decode的问题整理
2019/11/04 PHP
jquery 简单应用示例总结
2013/08/09 Javascript
JavaScript Promise启示录
2014/08/12 Javascript
javascript 原型链维护和继承详解
2014/11/26 Javascript
JS键盘版计算器的制作方法
2016/12/03 Javascript
利用transition实现文字上下抖动的效果
2017/01/21 Javascript
基于vue 实现token验证的实例代码
2017/12/14 Javascript
Vue中父子组件通讯之todolist组件功能开发
2018/05/21 Javascript
JS查找孩子节点简单示例
2019/07/25 Javascript
vue项目中使用eslint+prettier规范与检查代码的方法
2020/01/16 Javascript
Vue2.4+新增属性.sync、$attrs、$listeners的具体使用
2020/03/08 Javascript
使用PDB简单调试Python程序简明指南
2015/04/25 Python
python结合API实现即时天气信息
2016/01/19 Python
Python操作csv文件实例详解
2017/07/31 Python
Python3使用PyQt5制作简单的画板/手写板实例
2017/10/19 Python
python自动裁剪图像代码分享
2017/11/25 Python
将python代码和注释分离的方法
2018/04/21 Python
查看端口并杀进程python脚本代码
2019/12/17 Python
Python利用PyExecJS库执行JS函数的案例分析
2019/12/18 Python
Selenium基于PIL实现拼接滚动截图
2020/04/10 Python
k-means 聚类算法与Python实现代码
2020/06/01 Python
Django封装交互接口代码
2020/07/12 Python
使用jupyter notebook运行python和R的步骤
2020/08/13 Python
Pytest如何使用skip跳过执行测试
2020/08/13 Python
HTML5获取当前地理位置并在百度地图上展示的实例
2020/07/10 HTML / CSS
巴西家用小家电购物网站:Polishop
2016/08/07 全球购物
印尼在线精品店:Berrybenka.com
2016/10/22 全球购物
世界上最大的街头服饰网站:Karmaloop
2017/02/04 全球购物
公司活动总结范文
2014/07/01 职场文书
招标承诺书
2014/08/30 职场文书
2015年财务试用期工作总结
2014/12/24 职场文书
小学生作文之《压岁钱的烦恼》
2019/09/27 职场文书
导游词之蓬莱长岛
2019/12/17 职场文书
Golang并发操作中常见的读写锁详析
2021/08/30 Golang