解决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 相关文章推荐
捕获关闭窗口的脚本
Jan 10 Javascript
jQuery autocomplete插件修改
Apr 17 Javascript
判断对象是否Window的实现代码
Jan 10 Javascript
javascript验证身份证完全方法具体实现
Nov 18 Javascript
jquery插件推荐 jquery.cookie
Nov 09 Javascript
学习JavaScript设计模式之单例模式
Jan 19 Javascript
详解Angular4 路由设置相关
Aug 26 Javascript
Node调用Java的示例代码
Sep 20 Javascript
axios 处理 302 状态码的解决方法
Apr 10 Javascript
jQuery使用each遍历循环的方法
Sep 19 jQuery
详解javascript中的Error对象
Apr 25 Javascript
js实现踩五彩块游戏
Feb 08 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
使用 PHPMAILER 发送邮件实例应用
2012/11/07 PHP
[原创]php逐行读取txt文件写入数组的方法
2015/07/02 PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
2017/07/27 PHP
php合并数组并保留键值的实现方法
2018/03/12 PHP
thinkPHP实现基于ajax的评论回复功能
2018/06/22 PHP
Laravel6.18.19如何优雅的切换发件账户
2020/06/14 PHP
jQuery 美元符冲突的解决方法
2010/03/28 Javascript
html中的input标签的checked属性jquery判断代码
2012/09/19 Javascript
JS的replace方法详细介绍
2012/11/09 Javascript
extjs3 combobox取value和text案例详解
2013/02/06 Javascript
一个简单的瀑布流效果(主体形式自写)
2013/05/27 Javascript
纯js分页代码(简洁实用)
2013/11/05 Javascript
js动态创建上传表单通过iframe模拟Ajax实现无刷新
2014/02/20 Javascript
node.js中的fs.lchmod方法使用说明
2014/12/16 Javascript
jQuery中[attribute^=value]选择器用法实例
2014/12/31 Javascript
AngularJs根据访问的页面动态加载Controller的解决方案
2015/02/04 Javascript
jquery实现的美女拼图游戏实例
2015/05/04 Javascript
浅谈Javascript实现继承的方法
2015/07/06 Javascript
浅析javaScript中的浅拷贝和深拷贝
2017/02/15 Javascript
Vue.js 动态为img的src赋值方法
2018/03/14 Javascript
原生JS进行前后端同构
2018/04/22 Javascript
Nginx设置为Node.js的前端服务器方法总结
2019/03/27 Javascript
js实现坦克大战游戏
2020/02/24 Javascript
微信小程序自定义yPicker组件实现省市区三级联动功能
2020/10/29 Javascript
利用python爬取散文网的文章实例教程
2017/06/18 Python
Python数据相关系数矩阵和热力图轻松实现教程
2020/06/16 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
2020/12/03 Python
Booking.com美国:全球酒店预订网站
2017/04/18 全球购物
Mytheresa中国官网:德国时尚奢侈品商城
2017/08/04 全球购物
植树节活动总结
2014/04/30 职场文书
2015年音乐教师个人工作总结
2015/05/20 职场文书
2015年骨干教师工作总结
2015/05/26 职场文书
2016道德模范先进事迹材料
2016/02/26 职场文书
古诗之感恩老师
2019/10/24 职场文书
解决Mysql的left join无效及使用的注意事项说明
2021/07/01 MySQL
使用CSS实现小三角边框原理解析
2021/11/07 HTML / CSS