固定ヘッダーとフッターを使用する 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 を使用していましたが、これは他の多くの問題を引き起こしていました.(キーボード入力、パフォーマンス、...)
追加情報:
私は使用しています
- jqm 1.3.1
- 電話ギャップ 2.9.0
- 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原因で使用しています。しかし、これでもちらつきが発生します。