ios가 input 입력을 호환할 때 키보드 상자가 튀어나올 때 전체적으로 키보드 상자가 사라지면 ios에서 페이지가 튕겨지지 않는 문제...

3856 단어
(1) 앞부분 h5 혼합 개발 핸드폰 단말기 ios는 input 입력이 있을 때 핸드폰 아래에 키보드가 튀어나와 페이지를 위로 이동시킨다. 입력이 완료되면 키보드가 사라지면 페이지가 제자리로 표시되지만 실제로는 클릭할 수 없다(위쪽 구역을 클릭할 수 있고 반응이 있다). 즉, 실제적으로 튕기지 않았다는 것이다.
해결 방법:
input에 blur 이벤트를 추가합니다. 코드는 다음과 같습니다.
$('input').on('blur', function () {
          setTimeout(function(){
            var scrollHeight = document.documentElement.scrollTop || document.body.scrollTop || 0;
            window.scrollTo(0, Math.max(scrollHeight - 1, 0));
          }, 100);
});

(2)ios 키보드 불러오기, 키보드 거두면 페이지 돌아오지 않음 (vue)
질문 상세 설명:
입력 내용, 소프트 키보드 팝업, 페이지 내용 전체 이동, 하지만 키보드 접기, 페이지 내용 내려가지 않음
원인 분석:
고정된 포지셔닝 요소가 요소 내 input 상자에 초점을 맞출 때 튀어나온 소프트 키보드가 초점을 잃을 때 소프트 키보드가 사라지지만 위치를 차지하기 때문에 input 상자를 다시 입력할 수 없습니다. 초점을 잃을 때 이벤트를 줍니다.
해결 방법:
<div class="list">
  <div class="title"><span> span>div>
   <div class="content">
     <input class="contentInput" 
            placeholder=" "
            v-model="peopleList.name"
           @focus="changefocus()"
           @blur.prevent="changeBlur()"/>    div>
 div>

 
changeBlur(){
      let u = navigator.userAgent, app = navigator.appVersion;
      let isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
      if(isIOS){
        setTimeout(() => {
          const scrollHeight = document.documentElement.scrollTop || document.body.scrollTop || 0
          window.scrollTo(0, Math.max(scrollHeight - 1, 0))
          }, 200)
      }
    }

확장 지식: position: fixed의 요소는 ios에서 키보드를 접을 때 위로 올라가는데, 특히 제3자 키보드는
오케이!
다음으로 전송:https://www.cnblogs.com/weblxlx/p/10760392.html

좋은 웹페이지 즐겨찾기