解决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 相关文章推荐
点击下载链接 弹出页面实现代码
Oct 01 Javascript
jquery搜索框效果实现方法
Jan 16 Javascript
使用微信内置浏览器点击下拉框出现页面乱跳转现象(iphone),该怎么办
Jan 04 Javascript
Node.js包管理器Yarn的入门介绍与安装
Oct 17 Javascript
基于Angularjs+mybatis实现二级评论系统(仿简书)
Feb 13 Javascript
jQuery插件开发发送短信倒计时功能代码
May 09 jQuery
详解webpack和webpack-simple中如何引入css文件
Jun 28 Javascript
Extjs 中的 Treepanel 实现菜单级联选中效果及实例代码
Aug 22 Javascript
Vue的实例、生命周期与Vue脚手架(vue-cli)实例详解
Dec 27 Javascript
vue-devtools的安装步骤
Apr 23 Javascript
Vue.js组件高级特性实例详解
Dec 24 Javascript
详解vue路由篇(动态路由、路由嵌套)
Jan 27 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 数组和字符串互相转换实现方法
2013/03/26 PHP
浅析php变量修饰符static的使用
2013/06/28 PHP
php自定义函数实现二维数组按指定key排序的方法
2016/09/29 PHP
PHP使用redis消息队列发布微博的方法示例
2017/06/22 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
javascript是怎么继承的介绍
2012/01/05 Javascript
js函数中onmousedown和onclick的区别和联系探讨
2013/05/19 Javascript
原始XMLHttpRequest方法详情回顾
2013/11/28 Javascript
jquery实现增加删除行的方法
2015/02/03 Javascript
使用jQuery实现图片遮罩半透明坠落遮挡
2015/03/16 Javascript
JS实现不规则TAB选项卡效果代码
2015/09/16 Javascript
JS Attribute属性操作详解
2016/05/19 Javascript
vue2.0多条件搜索组件使用详解
2020/03/26 Javascript
javascript帧动画(实例讲解)
2017/09/02 Javascript
JS实现分页浏览横向图片(类轮播)实例代码
2017/11/06 Javascript
浅析java线程中断的办法
2018/07/29 Javascript
JavaScript封装的常用工具类库bee.js用法详解【经典类库】
2018/09/03 Javascript
[42:32]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第二场 10.28
2020/10/28 DOTA
Python的Django框架使用入门指引
2015/04/15 Python
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
2016/04/23 Python
Python实现发送QQ邮件的封装
2017/07/14 Python
你眼中的Python大牛 应该都有这份书单
2017/10/31 Python
Python数据结构之哈夫曼树定义与使用方法示例
2018/04/22 Python
对Python 内建函数和保留字详解
2018/10/15 Python
pycharm远程开发项目的实现步骤
2019/01/20 Python
基于Python绘制个人足迹地图
2020/06/01 Python
利用python对excel中一列的时间数据更改格式操作
2020/07/14 Python
玩具反斗城美国官网:Toys"R"Us
2016/09/17 全球购物
adidas马来西亚官网:adidas MY
2020/09/12 全球购物
城市轨道交通工程职业规划书范文
2014/01/18 职场文书
国际贸易专业个人职业生涯规划
2014/02/15 职场文书
建筑专业毕业生自荐信
2014/05/25 职场文书
2014离婚协议书范文两篇
2014/09/15 职场文书
幼儿园推普周活动总结
2015/05/07 职场文书
Go语言设计模式之结构型模式
2021/06/22 Golang
一小时迅速入门Mybatis之bind与多数据源支持 Java API
2021/09/15 Javascript