這篇文章主要為大家展示了“怎么解決iOS下無法觸發(fā)focus事件的問題”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“怎么解決iOS下無法觸發(fā)focus事件的問題”這篇文章吧。
成都創(chuàng)新互聯(lián)主要從事網(wǎng)站設計制作、做網(wǎng)站、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務文峰,10年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:028-86922220
前提
我的思路需要在點擊事件之后,先讓一個input元素失去焦點,再讓另一個input 元素獲取到焦點,代碼如下:
$('#xd_content .tabcontent .nav').on('click', function () { $('#xd_content ').blur(); setTimeout(function () { $('#search .shop-search-ipt').focus(); }, 400); });
發(fā)現(xiàn)安卓穩(wěn)定出現(xiàn)小鍵盤,但是ios不觸發(fā)鍵盤。找了半天,發(fā)現(xiàn)是setTimeout的問題,所以我只能 考慮 把 $('#search .shop-search-ipt').focus(); 寫在外面,不使用setTimeout.
后來我測試單獨寫一個頁面剛進來,執(zhí)行獲取焦點的方法,ios依然沒有成功。
(function(){ $('#input_box').focus(); })();
我又想:
(function(){ $('#button').on('click',function(){ setTimeout(function(){ $('#button2').trigger('click'); },4000) }) $('#button2').on('click',function(){ alert('觸發(fā)'); $('#input_box').focus(); }) })();
既然點擊事件,之后不能使用settimeout那么我,trigger一個點擊事件,在另一個事件里面出發(fā)獲取焦點就可以了,結果發(fā)現(xiàn)還是不行。
想要觸發(fā)鍵盤,只能是用戶手動的選擇事件 才能彈出鍵盤。網(wǎng)上說這是ios的安全機制。我也沒有進一步研究為什么會這樣,但是就事實來說,應該避免setTimeout,或者用戶不是直接操作的方法來獲取 input 焦點。
以上是“怎么解決iOS下無法觸發(fā)focus事件的問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!