iOS에서는 키보드가 팝업되면 페이지가 위로 이동하여 입력 상자가 페이지 중앙에 표시되고 키보드 숨김 페이지가 아래로 이동하여 원래 상태로 복원됩니다.
버전 6.7.4에서는 반전이 없습니다. 이로 인해 상대 위치 (고정, 절대 : 브라우저 창에 상대적)가있는 노드가 이동하여 노드 클릭 이벤트가 이동하고 선택할 수 없습니다.
해결 방법 : 입력 상자가 포커스를 잃습니다 (즉, 키보드가 숨겨져있을 때), 수동으로 페이지를 조정하십시오. document.activeElement.scrollIntoViewIfNeeded (true)
각 입력 상자가 포커스를 잃으면 다음 이벤트에 응답하십시오.
function blurAdjust( e ){
setTimeout(()=>{
if(document.activeElement.tagName == 'INPUT' || document.activeElement.tagName == 'TEXTAREA'){
return
}
let result = 'pc';
if(/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { //判断iPhone|iPad|iPod|iOS
result = 'ios'
}else if(/(Android)/i.test(navigator.userAgent)) { //判断Android
result = 'android'
}
if( result = 'ios' ){
document.activeElement.scrollIntoViewIfNeeded(true);
}
},400)
}
팁 : 페이지에 여러 입력 상자가있을 때 여러 조정을 방지하기 위해 여기에서 400 밀리 초의 지연이 설정되어 페이지 조정이 무질서하게됩니다.