WeChat IOS 6.7.4 버전이 입력 상자에 키보드를 표시 한 후 페이지가 복원되지 않습니다.

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 밀리 초의 지연이 설정되어 페이지 조정이 무질서하게됩니다.

추천

출처blog.csdn.net/Mr_linjw/article/details/85050920