2012-03-22 10 views
15

iPad仮想キーボードでキーボードの非表示ボタンを押したときに、ウェブページのコンテンツのサイズを変更する必要があります。キーボードが隠されているときに、どのJavaScriptイベントが起動するのかを知っていますか?ここでJavaScriptを使用してiOSでキーボードイベントを隠す方法

+0

[iPad Web App:SafariでJavaScriptを使用した仮想キーボードの検出?](http://stackoverflow.com/questions/2593139/ipad-web-app-detect-virtual-keyboard-using-javascript-in) -safari) – mplungjan

答えて

17

仕事を与えます。それはぼかしのようですが、泡です。キーボードが閉じると(もちろん、他のケースでも)起動します。 SafariとChromeでは、イベントは従来のメソッドではなく、addEventListenerでのみ登録できます。ここでは、キーボード解雇後にPhonegapアプリを復元するために使用した例を示します。

document.addEventListener('focusout', function(e) {window.scrollTo(0, 0)}); 

このスニペットがないと、アプリのコンテナはページを更新するまでアップスクロールした位置にとどまっていました。

+0

Ha、これは私が「キーボード解読後にPhonegapアプリを復元する」という正確なシナリオです。 – ganders

+0

このEventListenerは、ExtJS 5の問題を解決するのに役立ちました。 SafariでIOSキーボードが非表示になってから、ExtJSページの内容が少しスクロールダウンしたままになります。これは、ExtJS 5.0.1ではタッチインターフェースでスクロールが無効になっているので問題です。したがって、このイベントを使用してExtJSビューコンテナでdoLayout()をトリガーし、コンテナを画面境界内に再び収めるようにしました。 – Jasper

+0

これは[CrossBrowserTestingのChrome 41/iOS 6エミュレータでは動作しません](http://i.imgur.com/bZbz9Cm.png)です。 –

3
+1

ありがとう、私はonblurイベントに耳を傾けると思う。仮想キーボードが閉じられていると、入力にピントが合わないためです。 – Marius

+0

@キーボードの非表示ボタンを押すと、@マリアスのフォーカスが失われません。 –

関連する問題