4

ユーザーがそのフィールドの要件を満たすと、フォームの次のフィールドに自動的に進む関数を作成しました。

私の問題は、これを iPad で使用すると、次のフィールドにフォーカスするのではなく、キーボードを非表示にすることです。

私はこれを修正しようとすることをあきらめ、これを検出する方法を探しています....最も純粋になり、ブラウザ検出を使用しないようにしていますが、代替手段はありません。

誰もがこれのための FEATURE DETECTION メソッドを持っていますか?

4

1 に答える 1

2

Apple の Safari Web Content Guidelines のForm and Document Eventsによると、特にキーボードに対してトリガーされるイベントはありません。それは、あなたが利用できる内部WebKitイベントではないという意味ではありません...

この質問には、キーボードを盗聴するための非常に斬新なソリューションを提供する回答があります: iPad Web App: Detect Virtual Keyboard Using JavaScript in Safari?

基本的に、ウィンドウのスクロール位置を設定しようとします。位置が変わらない場合は、キーボードが存在します。

コードのクリーンアップされたバージョンは次のとおりです。

$(document).ready(function(){
    $('input').focus(function(){
        var scrollPosition = $(window).scrollTop();
        $(window).scrollTop(10);
        var isKeyboard = ($(window).scrollTop() > 0);
        $(window).scrollTop(scrollPosition);

        alert(isKeyboard);
    });
});​

それは少なくとも概念のアイデアを与えるはずです:)

于 2012-06-26T21:14:53.127 に答える