移動端因軟鍵盤的原因,固定在頁面底部的按鈕被彈起解決方案
阿新 • • 發佈:2018-12-06
問題描述:移動端,當需要輸入內容時,軟鍵盤彈出往往會導致固定在底部的按鈕、導航欄等被彈起。
解決思路:
1.當鍵盤彈起時隱藏掉按鈕,鍵盤隱藏時按鈕顯示
2.監測鍵盤是否彈起(瀏覽器頁面是否發生變化)
程式碼:
1、定義一個底部按鈕
<div class="returnbtn" v-show="isOriginHei" :class="{active: canSubmit}" v-on:click="sendSubmit()">提交</div>
2、設定預設顯示和兩個螢幕的初始值(此處定義在vue的data中)
isOriginHei: true, screenHeight: document.documentElement.clientHeight, //此處也可能是其他獲取方法 originHeight: document.documentElement.clientHeight,
3、在mounted裡面掛載檢測瀏覽器變化
mounted() {
let self = this;
window.onresize = function() {
return (function(){
self.screenHeight = document.documentElement.clientHeight;
})()
}
}
4、在watch中監測螢幕變化
screenHeight (val) { if(this.originHeight > val + 100) { //加100為了相容華為的返回鍵 this.isOriginHei = false; }else{ this.isOriginHei = true; } }
作者:rookie.he(kuke_kuke)
部落格連結:http://blog.csdn.net/qq_33599109