vue および js WeChat のページ入力ボックスをキーボードで押し上げた後、クリック フィールド エラー ポップアップ ボックスが修正されましたが、絶対位置の入力ボックス キーボード ポップアップによりクリック フィールドが失敗します。

この問題は本体がリセットされていないことが原因ですので、本体をリセットしてください。

解決策: 1. 入力がフォーカスを取得したときに現在のスクロール位置を記憶します。2. 入力がフォーカスを失ったときに前の位置にスクロールします。(個人的にテストされ、効果的です)。

vue コードが添付されており、このアイデアに基づいて他のフレームワークを変更できます。

PageScroll:0,//位置はデータ内の変数として定義されます
inputLoseBlur() { 
 setTimeout(() => { 
  window.scrollTo(0, this.PageScroll); 
 }, 100); 
}, 
inputLoseFocus() { 
 this.PageScroll = this.GetPageScroll() 
}, 
GetPageScroll(){ 
 var y; 
 if (window.pageYOffset) { // IE を除くすべて
  y = window.pageYOffset; 
 } else if (document.documentElement && document.documentElement.scrollTop) { // IE 6 Strict 
  y = document.documentElement.scrollTop; 
 } else if (document.body) { // 他のすべての IE 
  y = document.body.scrollTop; 
 } 
 y を返します
}、

方法は全部で 3 つあり、1 つ目はフォーカスを失ったときに前の位置にスクロールする方法、2 つ目はフォーカスを獲得したときに現在位置のデータを変数に代入する方法、3 つ目は現在位置を取得する方法です。

<mt-field label="" placeholder="携帯電話番号を入力してください" @focus.native.capture="inputLoseFocus" @blur.native.capture="inputLoseBlur" type="tel" v-model="loginMsg.mobile " ></mt-field>

以上が使い方です。

おすすめ

転載: blog.csdn.net/lizhen_software/article/details/99414812