關(guān)于H5軟鍵盤彈起蓋住頁(yè)面的解決方案

時(shí)隔多年,我又回來(lái)啦,哈哈哈,最近挺忙的,沒時(shí)間寫這些東西,今天終于把bug解決的差不多了,哈哈哈。

前兩天在寫H5的時(shí)候發(fā)現(xiàn),在微信瀏覽器內(nèi)打開這個(gè)網(wǎng)頁(yè),有輸入框的時(shí)候,這個(gè)輸入框很不智能,在鍵盤彈出的時(shí)候會(huì)把這個(gè)輸入框給蓋住,這就很尷尬了,,,

剛開始的時(shí)候我是在輸入框onfocus的時(shí)候動(dòng)態(tài)賦值這個(gè)頁(yè)面的scrollTop,

<van-field
  v-model="remark"
  rows="1"
  autosize
  label="備注"
  type="textarea"
  placeholder="請(qǐng)輸入備注"
  @focus="scrollbox"
/>
    
scrollbox(){
  //console.log(this.$refs.scrollwarp.scrollTop,this.$refs.scrollwarp.scrollHeight,'=========================')
  this.$nextTick(() => {
    this.$refs.scrollwarp.scrollTop=this.$refs.scrollwarp.scrollHeight - this.$refs.scrollwarp.clientHeight
  });
}    

發(fā)現(xiàn)其實(shí)他沒有啥用,因?yàn)楫?dāng)你點(diǎn)擊輸入框的時(shí)候,它還是老樣子,只有你在鍵盤彈起的時(shí)候?qū)L動(dòng)條滑到最下面,然后失焦,然后獲取焦點(diǎn),滾動(dòng)條位置才會(huì)在最下面,于是百度,window有一個(gè)監(jiān)聽窗口大小的事件onresize,文檔上說(shuō)當(dāng)瀏覽器被重置大小時(shí)執(zhí)行它:

window.onresize=function(){SomeJavaScriptCode};

于是就對(duì)我的代碼進(jìn)行改造:


created() {
  //這里定義窗口的原始高度
  this.oldHeight = document.documentElement.clientHeight
},
mounted(){
  let that = this;
  window.onresize = () => {
    if (that.oldHeight) {
      that.HeightChange = document.documentElement.clientHeight === that.oldHeight;
      if (!that.HeightChange) {
        this.$refs.scrollwarp.scrollTop=this.$refs.scrollwarp.scrollHeight - this.$refs.scrollwarp.clientHeight
      }
    }
  };
},

到這里,H5軟鍵盤彈起之后就不會(huì)蓋住頁(yè)面上的元素啦。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 之前在做H5 項(xiàng)目,踩過(guò)其中一大坑:輸入框獲取焦點(diǎn),軟鍵盤彈起,要求輸入框吸附(或頂)在輸入法框上。需求很明確,看...
    超級(jí)無(wú)敵可愛的閱讀 2,482評(píng)論 0 3
  • 本文轉(zhuǎn)載自wuwhs的segmentfault專欄 最近一段時(shí)間在做 H5 聊天項(xiàng)目,踩過(guò)其中一大坑:輸入框獲取焦...
    兔子不打地鼠打代碼閱讀 10,784評(píng)論 1 12
  • 可能這些是你想要的H5軟鍵盤兼容方案 前言 輸入框獲取焦點(diǎn),軟鍵盤彈起,要求輸入框吸附(或頂)在輸入法框上。需求很...
    記住了_葉閱讀 826評(píng)論 0 2
  • 轉(zhuǎn)載 1. 問(wèn)題描述: 最近一段時(shí)間在做 H5 項(xiàng)目,踩過(guò)其中一大坑:輸入框獲取焦點(diǎn),軟鍵盤彈起,要求輸入框吸附(...
    星空里的塵埃閱讀 752評(píng)論 0 2
  • 所謂人在家中坐鍋從天上來(lái)。項(xiàng)目里有個(gè)客服系統(tǒng)是接入的h5,最近收到反饋用戶在客服系統(tǒng)輸入時(shí),輸入框被Android...
    白六小子閱讀 9,063評(píng)論 3 8

友情鏈接更多精彩內(nèi)容