Vue项目中input框focus时不调出键盘问题的解决

Oralie ·
更新时间:2024-11-14
· 1159 次阅读

目录

input框focus时不调出键盘问题

自动获取input焦点(内含ios不能唤起键盘解决方法)

最开始的用法

如果想要解决ios不生效办法

input框focus时不调出键盘问题

在移动端,实现input框获得焦点的同时不会唤起手机键盘。

亲测有效!!!

<input type="text" placeholder="收货地址" v-model="address3" @focus.prevent="showcountF" ref="address" />  showcountF(){       this.showcount=true;        this.$refs.address.setAttribute('readonly', 'readonly');     }, 自动获取input焦点(内含ios不能唤起键盘解决方法)

为了实现自动唤起键盘,再点击写评论之后会出现input框紧接着吊起键盘

最开始的用法

在input出现之后加上

this.$nextTick(() => {     this.$refs.input.focus() })

为了页面的其他功能,我在上述代码之后重新调用了加载页面数据的方法,发现该方法不生效了,具体解决办法用延时器

setTimeOut(()=>{     this.$refs.input.focus() }, 500)

键盘正常唤起!

ps:延时时间不能过短,因为有页面重新渲染效果,延时时间过短会导致延时不在生效!

最后,该方法在ios中不可用,因为ios为了保护安全,禁止自动获取输入框focus方法!

如果想要解决ios不生效办法

在App的配置文件(config.xml),里面默认会有一句

<preference name="KeyboardDisplayRequiresUserAction" value="true" />

这里面的大概意思就是,键盘的显示需要用户去触发,而且是设置为true的!!!所以只需要把true改为false即可

<preference name="KeyboardDisplayRequiresUserAction" value="false" />

以上为个人经验,希望能给大家一个参考,也希望大家多多支持软件开发网。 



VUE focus input

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章