解决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 相关文章推荐
javascript eval和JSON之间的联系
Dec 31 Javascript
JavaScript 更严格的相等 [译]
Sep 20 Javascript
浅谈jQuery构造函数分析
May 11 Javascript
js正则匹配出所有图片及图片地址src的方法
Jun 08 Javascript
JS实现IE状态栏文字缩放效果代码
Oct 24 Javascript
AngularJS 使用ng-repeat报错 [ngRepeat:dupes]
Jan 19 Javascript
通过一个简单的例子学会vuex与模块化
Nov 22 Javascript
微信小程序实现登录注册tab切换效果
Dec 29 Javascript
Vue CL3 配置路径别名详解
May 30 Javascript
vue中使用rem布局代码详解
Oct 30 Javascript
vue路由守卫,限制前端页面访问权限的例子
Nov 11 Javascript
用Angular实现一个扫雷的游戏示例
May 15 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
3种平台下安装php4经验点滴
2006/10/09 PHP
ajax+php打造进度条 readyState各状态
2010/03/20 PHP
使用PHP生成二维码的方法汇总
2015/07/22 PHP
PHP解压tar.gz格式文件的方法
2016/02/14 PHP
Yii2使用swiftmailer发送邮件的方法
2016/05/03 PHP
js png图片(有含有透明)在IE6中为什么不透明了
2010/02/07 Javascript
js+数组实现网页上显示时间/星期几的实用方法
2013/01/18 Javascript
jQuery function的正确书写方法
2013/08/02 Javascript
javascript获取鼠标点击元素对象(示例代码)
2013/12/20 Javascript
jQuery中slideUp()方法用法分析
2014/12/24 Javascript
JavaScript反弹动画效果的实现代码
2017/07/13 Javascript
vue+webpack 更换主题N种方案优劣分析
2019/10/28 Javascript
vue.config.js中配置Vue的路径别名的方法
2020/02/11 Javascript
如何实现vue的tree组件
2020/12/03 Vue.js
[48:54]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第二场 6.3
2018/06/04 DOTA
Python程序员开发中常犯的10个错误
2014/07/07 Python
关于python列表增加元素的三种操作方法
2018/08/22 Python
Django csrf 两种方法设置form的实例
2019/02/03 Python
Python中单线程、多线程和多进程的效率对比实验实例
2019/05/14 Python
Python-Flask:动态创建表的示例详解
2019/11/22 Python
python中的逆序遍历实例
2019/12/25 Python
Pytorch 实现focal_loss 多类别和二分类示例
2020/01/14 Python
tensorflow实现在函数中用tf.Print输出中间值
2020/01/21 Python
python误差棒图errorbar()函数实例解析
2020/02/11 Python
使用keras实现非线性回归(两种加激活函数的方式)
2020/07/05 Python
jupyter 添加不同内核的操作
2021/02/06 Python
CSS3 不定高宽垂直水平居中的几种方式
2020/03/26 HTML / CSS
巴西男士个人护理产品商店:SHOP4MEN
2017/08/07 全球购物
挑战杯创业计划书的写作指南
2014/01/07 职场文书
校园奶茶店创业计划书
2014/01/23 职场文书
部队万能检讨书
2014/02/20 职场文书
三万活动总结
2014/04/28 职场文书
承诺书格式
2014/06/03 职场文书
城管执法人员纪律作风整顿思想汇报
2014/09/13 职场文书
2014年计划生育协会工作总结
2014/11/14 职场文书
python代码实现备忘录案例讲解
2021/07/26 Python