0

固定ヘッダーとフッターを使用する jqm/phonegap アプリケーションがあります。テキストボックスにフォーカスすると、フッターが削除され、キーボードがポップアップします。

フォーカス時にフッターが削除されないようにすることは可能ですか?

編集:画面の幅がツールバーの非表示または表示を設定することを読みました(タブレットサポート用)。ヘッダーとフッターを常に設定することは可能ですか。画面サイズは問いません。

これは私が使用するページの例です (私は ajax ページングを使用します):

<html>
<body>
    <div data-role="page" id="myPage" data-theme="a">
        <div data-role="header" data-tap-toggle="false" data-theme="a" data-position="fixed">
            <h1 id="myHeader"></h1>
        </div>

            <div data-role="content">
                <ul data-role="listview" id="lstvw_Items" data-filter-theme="a" data-filter="true"></ul>
        </div>
        <div data-role="footer" data-tap-toggle="false" data-position="fixed">
            <div data-role="navbar">
                <ul>
                    <li><a href="index.html" data-icon="home"></a></li>
                    <li><a href="2.html" data-icon="grid"></a></li>
                    <li><a href="3.html" data-icon="info"></label></a></li>
                    <li><a href="4.html" data-icon="gear"><label></label></a></li>
                </ul>
            </div>
        </div>
    </div>
</body>
 </html>

リストビューは ajax で埋められており、data-filter でフィルタリングできます。datafilter txtbox を押すとフッターが削除され、キーボードを閉じるとフッターがページの下部に表示されます (画面の外側)。

また、フォーカスのあるフィールドがあり、リンクが押されたときにページがちらつき、フォーカスがない場合は発生しません。

最初は固定ヘッダーとフッターを保持するために iSCroll を使用していましたが、これは他の多くの問題を引き起こしていました.(キーボード入力、パフォーマンス、...)

追加情報:

私は使用しています

  1. jqm 1.3.1
  2. 電話ギャップ 2.9.0
  3. Android 2.3.x以降で現在テスト中

編集: Enter キーを押してもフォーカスが失われない理由がわかりました。アプリケーションは、フォームの送信を防ぐために、Enter キーの動作をブロックします。このような:

    document.onkeypress = stopRKey;
    function stopRKey(evt){
       var evt = (evt) ? evt: ((event) ? event: null);
       var node = (evt.target) ? evt.target:((evt.srcElement) ? evt.srcElement:null);
       if((evt.keyCode == 13) && (node.type=='text')){node.blur();return false;}

}

私は今node.blur();、この関数のif原因で使用しています。しかし、これでもちらつきが発生します。

4

1 に答える 1