Vue中自动获取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" />
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值