1. 程式人生 > >ios輸入框必須重壓或長按才能喚起軟鍵盤

ios輸入框必須重壓或長按才能喚起軟鍵盤

最近做搜尋框時發現,ios點選輸入框之後,點選軟鍵盤上的 完成 時發現,輕擊input就無法喚起軟鍵盤,無法對輸入框聚焦,必須長按或重壓才行,這邊經過測試,發現應該是fastclick.js 引起的衝突,ios11 後修復了移動點選300ms延遲,so

提供兩種方法:

1  

vue的子應用中出現在ios上點選輸入框不靈敏,需點兩次才能獲取焦點的問題解決方法如下:在node_module裡找到fastClick檔案,然後找到focus方法,加一句focus方法即可解決

2  在main.js下

const str= navigator.userAgent.toLowerCase()
const ver=str.match(/cpu iphone os (.*?) like mac os/)

if(!ver){//非IOS系統
  // 引入fastclick 做相關處理
}
else {
  if(parseInt(ver[1])< 11){
   // 引入fastclick 做相關處理
  }
}

都是針對vue專案的,希望對各位有幫助!