解决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学习笔记(八) js内置对象
Jun 19 Javascript
jquery计算鼠标和指定元素之间距离的方法
Jun 26 Javascript
JavaScript在网页中画圆的函数arc使用方法
Nov 13 Javascript
JavaScript重载函数实例剖析
May 13 Javascript
JavaScript中匿名函数的用法及优缺点详解
Jun 01 Javascript
Javascript仿京东放大镜的效果
Mar 01 Javascript
微信小程序 商城开发(ecshop )简单实例
Apr 07 Javascript
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
Jul 17 jQuery
Vue Socket.io源码解读
Feb 07 Javascript
JavaScript实现连连看连线算法
Jan 05 Javascript
vue 实现 rem 布局或vw 布局的方法
Nov 13 Javascript
vue实现水波涟漪效果的点击反馈指令
May 31 Vue.js
在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定时执行计划任务的多种方法小结
2011/12/19 PHP
如何给phpcms v9增加类似于phpcms 2008中的关键词表
2013/07/01 PHP
php获取图片信息的方法详解
2015/12/10 PHP
php自定义函数实现JS的escape的方法示例
2016/07/07 PHP
php进程daemon化的正确实现方法
2018/09/06 PHP
非常好的js代码
2006/06/27 Javascript
innerText 使用示例
2014/01/23 Javascript
关于jQuery判断元素是否存在的问题示例探讨
2014/07/21 Javascript
JavaScript 学习笔记之数据类型
2015/01/14 Javascript
javascript遇到html5的一些表单属性
2015/07/05 Javascript
跟我学习javascript的闭包
2015/11/16 Javascript
AngularJS 遇到的小坑与技巧小结
2016/06/07 Javascript
domReady的实现案例
2016/11/23 Javascript
浅谈Nodejs中的作用域问题
2016/12/26 NodeJs
微信小程序request请求后台接口php的实例详解
2017/09/20 Javascript
angular2中Http请求原理与用法详解
2018/01/11 Javascript
vue 实现通过手机发送短信验证码注册功能
2018/04/19 Javascript
Nodejs 发布自己的npm包并制作成命令行工具的实例讲解
2018/05/15 NodeJs
vue+iview+less 实现换肤功能
2018/08/17 Javascript
微信小程序访问豆瓣电影api的实现方法
2019/03/31 Javascript
详解Vue路由自动注入实践
2019/04/17 Javascript
NestJs使用Mongoose对MongoDB操作的方法
2021/02/22 Javascript
用Python编写一个简单的Lisp解释器的教程
2015/04/03 Python
python mysql断开重连的实现方法
2019/07/26 Python
10个很棒的 CSS3 开发工具 推荐
2011/05/16 HTML / CSS
html5利用canvas实现颜色容差抠图功能
2019/12/23 HTML / CSS
俄罗斯韩国化妆品网上商店:Cosmasi.ru
2019/10/31 全球购物
HSRP的含义以及如何工作
2014/09/10 面试题
介绍一下linux文件系统分配策略
2013/02/25 面试题
观看建国大业观后感
2015/06/01 职场文书
居安思危观后感
2015/06/11 职场文书
《圆的面积》教学反思
2016/02/19 职场文书
2016最新离婚协议书范本及程序
2016/03/18 职场文书
创业计划书之个人工作室
2019/08/22 职场文书
Oracle创建只读账号的详细步骤
2021/06/07 Oracle
Pandas实现DataFrame的简单运算、统计与排序
2022/03/31 Python