6

Phonegap を使用して iPad アプリを作成しています。アプリの向きは横向きに固定されており、上部にメニューがあり、右上にテキスト ボックスがあります。アプリは固定 (フルスクリーン) サイズであり、スクロールは必要ありません。

ユーザーが iOS 6 で右上に表示されるテキスト ボックスに触れると、テキスト ボックスを画面の中央に配置するためにアプリ全体が左にスライドし、アプリ全体が左に押し出され、右側に空白が残ります。

この動作を防ぐにはどうすればよいですか?

現在、UIWebViewBounce を NO に設定し、タッチスタート イベントをキャッチするために次のコードを配置しています。

document.body.addEventListener('touchmove', function(e) {
    e.preventDefault();
}, false);

テキストボックス自体にもこれがあります.iOS 5では動作するようですが(スタッターはありますが)、iOS 6では動作しません。

$('#searchText').on("focus", function(event) {
    window.scrollTo(0, 0);
});

どんな助けでも大歓迎です。

4

2 に答える 2

3

フォーカスされているときにシフトしたくないのonfocus属性にこの JavaScript を追加してみてください。input

<input onfocus="this.style.webkitTransform = 'translate3d(0px,-10000px,0)'; webkitRequestAnimationFrame(function() { this.style.webkitTransform = ''; }.bind(this))"/>
于 2015-01-01T10:07:40.660 に答える
-1

body 要素に次の css スタイルを追加してみてください。

-webkit-touch-callout: none; 
-webkit-user-select: none; 
-khtml-user-select: none; 
-moz-user-select: none; 
-ms-user-select: none;
 user-select: none;
-webkit-tap-highlight-color: rgba(0,0,0,0);

リンクやその他のものに対するユーザーの選択を防ぎます。多分それはあなたにとってヘルフルになるでしょう。

于 2013-01-14T22:38:04.187 に答える