欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決iOS下無(wú)法觸發(fā)focus事件的問(wèn)題

 更新時(shí)間:2018年08月30日 10:51:49   作者:凌晨獨(dú)舞  
今天小編就為大家分享一篇解決iOS下無(wú)法觸發(fā)focus事件的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

前提

我的思路需要在點(diǎn)擊事件之后,先讓一個(gè)input元素失去焦點(diǎn),再讓另一個(gè)input 元素獲取到焦點(diǎn),代碼如下:

 $('#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的問(wèn)題,所以我只能 考慮 把 $('#search .shop-search-ipt').focus(); 寫在外面,不使用setTimeout.

后來(lái)我測(cè)試單獨(dú)寫一個(gè)頁(yè)面剛進(jìn)來(lái),執(zhí)行獲取焦點(diǎn)的方法,ios依然沒(méi)有成功。

(function(){
  $('#input_box').focus(); 
})();

我又想:

 (function(){
  $('#button').on('click',function(){
   setTimeout(function(){
    $('#button2').trigger('click');
   },4000)
  })
  $('#button2').on('click',function(){
   alert('觸發(fā)');
   $('#input_box').focus();
  })
 })();

既然點(diǎn)擊事件,之后不能使用settimeout那么我,trigger一個(gè)點(diǎn)擊事件,在另一個(gè)事件里面出發(fā)獲取焦點(diǎn)就可以了,結(jié)果發(fā)現(xiàn)還是不行。

想要觸發(fā)鍵盤,只能是用戶手動(dòng)的選擇事件 才能彈出鍵盤。網(wǎng)上說(shuō)這是ios的安全機(jī)制。我也沒(méi)有進(jìn)一步研究為什么會(huì)這樣,但是就事實(shí)來(lái)說(shuō),應(yīng)該避免setTimeout,或者用戶不是直接操作的方法來(lái)獲取 input 焦點(diǎn)。

希望以后能找到合適的解決辦法。

以上這篇解決iOS下無(wú)法觸發(fā)focus事件的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論