时间:2021-05-18
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{ -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无法自动弹出键盘的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
带有EditText控件的在第一次显示的时候会自动获得focus,并弹出键盘,如果不想自动弹出键盘,可以复制代码代码如下:在mainfest文件中把对应的act
之前我们在使用vue进行h5表单录入的过程中,遇到了Android软键盘弹出,覆盖h5页面输入框问题,在此进行回顾并分享给大家:系统:Android条件:当输入
iOS设备的标点符号在键盘里。查看方法如下: 1、首先启动iOS系统内置的备忘录软件,则键盘会自动弹出。 2、之后点击页面左下角的数字按钮,即可查看标点符号
在使用iphone时,siri总是自动弹出严重影响我的心情。那么该如何避免Siri自动弹出来的现象呢?下面给大家介绍siri自动弹出的解决方法。需要的朋友参考下
本文实例分析了Android键盘自动弹出解决方法。分享给大家供大家参考,具体如下:1、在:复制代码代码如下:activityandroid:name=".Uni