問題:
?在做一個webAPP項目的時候拥娄,功能正常屹篓,但是用hbuilder打包到ios上運行時技肩,發(fā)現(xiàn)所有input框的點擊都不靈敏,需要長按半秒到一秒的樣子酒甸,形成一種卡頓或者點擊無效的效果魄健,網(wǎng)上找了半天方法,有個很簡單的辦法插勤,貼圖如下沽瘦;
我也照常在項目中引入了析恋,但是重新打包嘗試似乎并沒有什么反應(yīng),如果你也跟我一樣調(diào)用了沒效果繼續(xù)往下看盛卡;最后找到如下有效方法:
解決方案:
如上述引入了FastClick.js并在main.js中和index.html分別調(diào)用都沒有效果的情況下助隧;只有通過綁定在事件上的函數(shù)觸發(fā),才能聚焦調(diào)出鍵盤:
原文鏈接:https://www.cnblogs.com/moxiaowohuwei/p/7448389.html
因為很多地方都有用到滑沧,所以我還是用函數(shù)封裝并村,其他使用地方調(diào)用,雖然有效滓技,但是不管封不封裝都會出現(xiàn)會創(chuàng)建一個類似全局的點擊效果哩牍,也就是在@click其他非input框的時候 也會快速調(diào)出鍵盤的bug(安卓上勢必出現(xiàn),ios上測試時似乎沒有問題令漂,可以自己嘗試一下)
復(fù)制代碼:
var?apple = document.getElementById('abc');? // 此處ID為要點擊的input或者textarea標(biāo)簽ID膝昆;
button.addEventListener('click',function(){
?????apple.focus();
});
所以,為了解決這個方案造成的困擾叠必,結(jié)合上一步在給input或者textarea綁定@click方法后荚孵,又在方法里優(yōu)化后結(jié)果為一下一句(單處使用,不要全局封裝):
$("#mycords").trigger("click").focus();
此方法僅綁定處點擊會彈出鍵盤纬朝,其他地方不會彈出收叶,比較理想的選擇。
另將css中-webkit-user-select: none;設(shè)置為auto玄组;(不確定因素滔驾,本人測試還原之后并不會造成影響,在爬坑途中修改了此處所以沒有改回去了)
如有更好的方法或者建議請私信我俄讹,謝謝大家了哆致。