この問題は本体がリセットされていないことが原因ですので、本体をリセットしてください。
解決策: 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>
以上が使い方です。