ios系統(tǒng)bug踩坑

1. Ios系統(tǒng)bug,自動關聯(lián)手機驗證碼時,會復制重復的驗證碼

image.png

解決方法:

因為公司的驗證碼都是指定的位數(shù),所以設置input的maxlength即可解決。

2.Ios系統(tǒng)當鍵盤彈起,再收回的時候,頁面底部會留白

image.png

解決方法

//這里監(jiān)聽鍵盤收起,然后滾動頂部
document.body.addEventListener('focusout', () => { 
  //軟鍵盤收起的事件處理 
 if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent))
    //鍵盤收齊頁面空白問題 
    document.body.scrollTop = document.body.scrollHeight; 
  }
})

以上方法確實可以解決問題,但是我的頁面里使用了swiper插件做整屏切換,且第二屏可滾動查看,設置document.body.scrollTop會使第二屏頁面滾動到最頂部,且有多個輸入框,所以我用了另一個方法:

$('.input_text'').on('focusout', function (e) {
    $(this).removeClass('focus')
    if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
      setTimeout(function () {
        if(!$('.focus').length){
          document.body.scrollTop = 0;
          document.documentElement.scrollTop = 0;
        }
      },100)
    }
 $('.input_text'') .on('focus',function () {
    $(this).addClass('focus')
  })

3.在H5頁面上fixed定位了一個彈框,但是在ios 12.1系統(tǒng)遇到了焦點亂跑的問題。

每當點擊鍵盤的“完成”按鈕時,頁面看起來所有輸入框都失焦,然后點擊任意輸入框,焦點只會聚焦到上次完成時的下一個輸入框。


image.png

比如當我輸入完手機號,點擊鍵盤的“完成”按鈕,然后我想改一下姓名,但是點擊姓名的輸入框,焦點反而跑到了驗證碼那一欄。

這種神奇的的bug也是無語,將彈框的定位改成position:absolute就解決了該問題,看來Ios對fixed的兼容性并不是很友好,在移動端H5頁還是少用fiexd定位。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 發(fā)現(xiàn) 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 15,839評論 4 61
  • 書畫只不過是人表達情緒情感的工具。所謂為藝術獻身的人境界都不可能高。當人成為書畫的奴隸,大可不必繼續(xù)書畫。 生活之...
    邰先明書法閱讀 1,220評論 1 3
  • 一個人吃飯旅行,一個人到處旅行,孤單,漸漸成為了我一個人的狂歡! 無論路有多長,夜有多深,在這條路上,我一直...
    釋然andy閱讀 407評論 1 7

友情鏈接更多精彩內容