您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“怎么解決iOS下無法觸發focus事件的問題”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“怎么解決iOS下無法觸發focus事件的問題”這篇文章吧。
前提
我的思路需要在點擊事件之后,先讓一個input元素失去焦點,再讓另一個input 元素獲取到焦點,代碼如下:
$('#xd_content .tabcontent .nav').on('click', function () { $('#xd_content ').blur(); setTimeout(function () { $('#search .shop-search-ipt').focus(); }, 400); });
發現安卓穩定出現小鍵盤,但是ios不觸發鍵盤。找了半天,發現是setTimeout的問題,所以我只能 考慮 把 $('#search .shop-search-ipt').focus(); 寫在外面,不使用setTimeout.
后來我測試單獨寫一個頁面剛進來,執行獲取焦點的方法,ios依然沒有成功。
(function(){ $('#input_box').focus(); })();
我又想:
(function(){ $('#button').on('click',function(){ setTimeout(function(){ $('#button2').trigger('click'); },4000) }) $('#button2').on('click',function(){ alert('觸發'); $('#input_box').focus(); }) })();
既然點擊事件,之后不能使用settimeout那么我,trigger一個點擊事件,在另一個事件里面出發獲取焦點就可以了,結果發現還是不行。
想要觸發鍵盤,只能是用戶手動的選擇事件 才能彈出鍵盤。網上說這是ios的安全機制。我也沒有進一步研究為什么會這樣,但是就事實來說,應該避免setTimeout,或者用戶不是直接操作的方法來獲取 input 焦點。
以上是“怎么解決iOS下無法觸發focus事件的問題”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。