1. Ios系統(tǒng)bug契邀,自動(dòng)關(guān)聯(lián)手機(jī)驗(yàn)證碼時(shí),會(huì)復(fù)制重復(fù)的驗(yàn)證碼
解決方法:
因?yàn)楣镜尿?yàn)證碼都是指定的位數(shù)失暴,所以設(shè)置input的maxlength
即可解決坯门。
2.Ios系統(tǒng)當(dāng)鍵盤彈起,再收回的時(shí)候逗扒,頁面底部會(huì)留白
解決方法
//這里監(jiān)聽鍵盤收起古戴,然后滾動(dòng)頂部
document.body.addEventListener('focusout', () => {
//軟鍵盤收起的事件處理
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent))
//鍵盤收齊頁面空白問題
document.body.scrollTop = document.body.scrollHeight;
}
})
以上方法確實(shí)可以解決問題,但是我的頁面里使用了swiper插件做整屏切換矩肩,且第二屏可滾動(dòng)查看现恼,設(shè)置document.body.scrollTop
會(huì)使第二屏頁面滾動(dòng)到最頂部,且有多個(gè)輸入框黍檩,所以我用了另一個(gè)方法:
$('.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定位了一個(gè)彈框叉袍,但是在ios 12.1系統(tǒng)遇到了焦點(diǎn)亂跑的問題。
每當(dāng)點(diǎn)擊鍵盤的“完成”按鈕時(shí)刽酱,頁面看起來所有輸入框都失焦喳逛,然后點(diǎn)擊任意輸入框,焦點(diǎn)只會(huì)聚焦到上次完成時(shí)的下一個(gè)輸入框棵里。
比如當(dāng)我輸入完手機(jī)號(hào)润文,點(diǎn)擊鍵盤的“完成”按鈕姐呐,然后我想改一下姓名,但是點(diǎn)擊姓名的輸入框转唉,焦點(diǎn)反而跑到了驗(yàn)證碼那一欄皮钠。
這種神奇的的bug也是無語稳捆,將彈框的定位改成position:absolute
就解決了該問題赠法,看來Ios對(duì)fixed的兼容性并不是很友好,在移動(dòng)端H5頁還是少用fiexd定位。