アイデアは、ページをできるだけ早く元の位置に戻し、iOS のスクロール アニメーションを防ぐことです。
入力テキスト フィールドにハンドラーを追加するだけfocusで、このハンドラーで最初にwindow.scrollTopプロパティを読み取り、0 ミリ秒の遅延で元に戻します。
これが私のコードです(jQueryを使用):
$("#myinput").on("focus", function() {
var scrollTop = $(window).scrollTop();
setTimeout(function() {
$(window).scrollTop = scrollTop;
}, 0);
});
これにバグがないことを願っています-実際に私は TypeScript を使用しているので、元のコードをここで見たい場合は:
this._inputText.on("focus", () => {
var jQueryWin:JQuery = <JQuery>$(window);
var scrollTop:number = jQueryWin.scrollTop();
setTimeout(() => {
jQueryWin.scrollTop(scrollTop);
}, 0);
});
OK - これが、入力要素を処理する際の不要なページ スクロールをより適切に制御するのに役立つことを願っています。