vue js IOS H5focus无法自动弹出键盘怎么办
短信预约 -IT技能 免费直播动态提醒
这篇文章主要为大家展示了“vue js IOS H5focus无法自动弹出键盘怎么办”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue js IOS H5focus无法自动弹出键盘怎么办”这篇文章吧。
IOS不自动弹出键盘,必须手动触发一下focus才行,不能自动调用,所以需要诱导用户点击某个按钮触发focus,最终修改的方法,默认隐藏密码输入框,隐藏不能用v-if或者是v-show,用position:absolute, top:-1000,然后点击输入密码将top改为视窗内,并且调用focus的方法
代码如下,有问题欢迎评论
<template>
<div class="pwdpush-box">
<h5 class="enter-password" @click="enterPwd">输入密码</h5>
<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" @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无法自动弹出键盘怎么办”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341