Vue項目中input框focus時不調(diào)出鍵盤問題的解決
input框focus時不調(diào)出鍵盤問題
在移動端,實現(xiàn)input框獲得焦點的同時不會喚起手機鍵盤。
親測有效?。?!
<input type="text" placeholder="收貨地址" v-model="address3" @focus.prevent="showcountF" ref="address" />
?showcountF(){ ? ? ? this.showcount=true; ? ? ? ?this.$refs.address.setAttribute('readonly', 'readonly'); ? ? },
自動獲取input焦點(內(nèi)含ios不能喚起鍵盤解決方法)
為了實現(xiàn)自動喚起鍵盤,再點擊寫評論之后會出現(xiàn)input框緊接著吊起鍵盤
最開始的用法
在input出現(xiàn)之后加上
this.$nextTick(() => { ?? ?this.$refs.input.focus() })
為了頁面的其他功能,我在上述代碼之后重新調(diào)用了加載頁面數(shù)據(jù)的方法,發(fā)現(xiàn)該方法不生效了,具體解決辦法用延時器
setTimeOut(()=>{ ?? ?this.$refs.input.focus() }, 500)
鍵盤正常喚起!
ps:延時時間不能過短,因為有頁面重新渲染效果,延時時間過短會導(dǎo)致延時不在生效!
最后,該方法在ios中不可用,因為ios為了保護安全,禁止自動獲取輸入框focus方法!
如果想要解決ios不生效辦法
在App的配置文件(config.xml),里面默認會有一句
<preference name="KeyboardDisplayRequiresUserAction" value="true" />
這里面的大概意思就是,鍵盤的顯示需要用戶去觸發(fā),而且是設(shè)置為true的!??!所以只需要把true改為false即可
<preference name="KeyboardDisplayRequiresUserAction" value="false" />
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue3之getCurrentInstance與ts結(jié)合使用的方式
這篇文章主要介紹了Vue3之getCurrentInstance與ts結(jié)合使用的方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04關(guān)于element-ui?select?下拉框位置錯亂問題解決
這篇文章主要介紹了關(guān)于element-ui?select?下拉框位置錯亂問題解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09詳解Vue微信授權(quán)登錄前后端分離較為優(yōu)雅的解決方案
這篇文章主要介紹了詳解Vue微信授權(quán)登錄前后端分離較為優(yōu)雅的解決方案,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06