解決ios環境下點選輸入框頁面被頂起不能自動回彈到底部問題

八十易發表於2019-06-15

第一步:在標籤的輸入框中新增獲取焦點事件  程式碼寫法: @focus="getFocus" (vue程式碼)  可直接拷貝拿去放在自己頁面元素中,如下:

 <div class="o-field o-grid__cell carinfo-grid__cell">
            <input
              @blur="onPlaceholderMobleBlur"
         @focus="getFocus" :value="holderMobile" class="c-field" type="text" placeholder="請輸入投保人手機號" maxlength="11"> </div>

第二步:在methods 方法中宣告 獲取焦點事件 如下寫法,下面程式碼直接拷貝即可

 methods: {
    getFocus() {
      $("input,textarea").on("blur", function() {
        window.scroll(0, 0);
      });
    },

這裡引入jQuery(jQuery還是很好用的)

實現原理:
      原理就是彈起鍵盤的時候,window.scrollY會從0變到鍵盤的高度(例如:200),當輸入框焦點失去後讓scrollY回到0就好了

或者 這麼寫只是不需要引入jQuery了

1  window.addEventListener('focusout', function () {
2       document.body.scrollTop = document.body.scrollHeight;
3  })

 

<div class="o-field o-grid__cell carinfo-grid__cell">
<input
@blur="onPlaceholderMobleBlur"
:value="holderMobile"
class="c-field"
type="text"
placeholder="請輸入投保人手機號"
maxlength="11">
</div>

相關文章