解决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 读取元素的CSS信息的代码
Feb 07 Javascript
整理8个很棒的 jQuery 倒计时插件和教程
Dec 12 Javascript
采用call方式实现js继承
May 20 Javascript
纯js代码制作的网页时钟特效【附实例】
Mar 30 Javascript
AngularJS实现星星等级评分功能
Sep 24 Javascript
javascript使用递归算法求两个数字组合功能示例
Jan 03 Javascript
BootStrap栅格系统、表单样式与按钮样式源码解析
Jan 20 Javascript
js判断输入框不能为空格或null值的实现方法
Mar 02 Javascript
Vue脚手架的简单使用实例
Jul 10 Javascript
在 Vue-CLI 中引入 simple-mock实现简易的 API Mock 接口数据模拟
Nov 28 Javascript
vue添加class样式实例讲解
Feb 12 Javascript
AngularJS实现多级下拉框
Mar 25 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基础知识回顾
2012/08/16 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
2014/06/23 PHP
php数组键值用法实例分析
2015/02/27 PHP
详解js异步文件加载器
2016/01/24 PHP
Yii2前后台分离及migrate使用(七)
2016/05/04 PHP
jquery js 重置表单 reset()具体实现代码
2013/08/05 Javascript
通过复制Table生成word和excel的javascript代码
2014/01/20 Javascript
学习JavaScript设计模式(多态)
2015/11/25 Javascript
js实现C#的StringBuilder效果完整实例
2015/12/22 Javascript
jQuery插件passwordStrength密码强度指标详解
2016/06/24 Javascript
angular中的cookie读写方法
2017/08/02 Javascript
js登录滑动验证的实现(不滑动无法登陆)
2018/01/03 Javascript
jquery获取元素到屏幕四周可视距离的方法
2018/09/05 jQuery
vue柱状进度条图像的完美实现方案
2019/08/26 Javascript
JavaScript函数IIFE使用详解
2019/10/21 Javascript
Vue开发中遇到的跨域问题及解决方法
2020/02/11 Javascript
JS中==、===你分清楚了吗
2020/03/04 Javascript
vue实践---vue不依赖外部资源实现简单多语操作
2020/09/21 Javascript
简单的抓取淘宝图片的Python爬虫
2014/12/25 Python
matplotlib绘制符合论文要求的图片实例(必看篇)
2017/06/02 Python
Python数据结构与算法之字典树实现方法示例
2017/12/13 Python
《Python学习手册》学习总结
2018/01/17 Python
Python实现获取邮箱内容并解析的方法示例
2018/06/16 Python
解决django的template中如果无法引用MEDIA_URL问题
2020/04/07 Python
安装python依赖包psycopg2来调用postgresql的操作
2021/01/01 Python
阿迪达斯丹麦官网:adidas丹麦
2016/10/01 全球购物
用JAVA SOCKET编程,读服务器几个字符,再写入本地显示
2012/11/25 面试题
倡议书格式模板
2014/05/13 职场文书
环保标语口号
2014/06/13 职场文书
党员批评与自我批评思想汇报(集锦)
2014/09/14 职场文书
幼儿园校园小喇叭广播稿
2014/10/17 职场文书
幼儿园五一劳动节活动总结
2015/02/09 职场文书
八月一日观后感
2015/06/10 职场文书
你会写请假条吗?
2019/06/26 职场文书
js实现上传图片到服务器
2021/04/11 Javascript
详解CSS3.0(Cascading Style Sheet) 层叠级联样式表
2021/07/16 HTML / CSS