Я кодирую приложение с помощью jQuery, jqTouch и phonegap и сталкиваюсь с постоянной проблемой, которая возникает, когда пользователь отправляет форму с помощью кнопки Go на мягкой клавиатуре.
Несмотря на то, что курсор перемещается к соответствующему элементу ввода формы с помощью $('#input_element_id').focus()
, подсветка оранжевого контура всегда возвращается к последнему элементу ввода в форме. (Выделение не отображается, когда форма отправляется с помощью кнопки отправки формы.)
Мне нужно найти способ либо полностью отключить оранжевую подсветку, либо переместить ее в тот же элемент ввода, что и курсор.
До сих пор я попытался добавить в свой CSS следующее:
.class_id:focus {
outline: none;
}
Это работает в Chrome, но не на эмуляторе или на моем телефоне. Я также пробовал редактировать jqTouch theme.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
, похоже, не работает в любом браузере.