jQuery、jqTouch、phonegap を使用してアプリをコーディングしていますが、ユーザーがソフト キーボードの [移動] ボタンを使用してフォームを送信したときに発生する永続的な問題に遭遇しました。
を使用してカーソルを適切なフォーム入力要素に移動するのは簡単ですが$('#input_element_id').focus()
、オレンジ色のアウトライン ハイライトは常にフォームの最後の入力要素に戻ります。(フォーム送信ボタンを使用してフォームを送信すると、ハイライトは表示されません。)
必要なのは、オレンジ色のハイライトを完全に無効にするか、カーソルと同じ入力要素に移動させる方法を見つけることです。
これまでのところ、CSS に以下を追加しようとしました。
.class_id:focus {
outline: none;
}
これはChromeでは機能しますが、エミュレーターや電話では機能しません。また、jqTouchtheme.css
を編集して読み取ろうとしました。
ul li input[type="text"] {
-webkit-tap-highlight-color: rgba(0, 0, 0, 0); and
-webkit-focus-ring-color: rgba(0, 0, 0, 0);
}
効果なし。AndroidManifest.xml
ファイルへの次の追加もそれぞれ試しました。
android:imeOptions="actionNone"
android:imeOptions="actionSend|flagNoEnterAction"
android:imeOptions="actionGo|flagNoEnterAction"
どれも効果がありません。
更新:これについてさらにトラブルシューティングを行ったところ、現在までに次のことがわかりました:
アウトライン プロパティは Chrome でのみ機能し、Android ブラウザーでは機能しません。
この
-webkit-tap-highlight-color
プロパティは、実際には Android ブラウザーでは機能しますが、Chrome では機能しません。フォーカス時とタップ時のハイライトを無効にします。この
-webkit-focus-ring-color
プロパティは、どちらのブラウザでも機能しないようです。