Я кодирую приложение, используя 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
Свойство не похоже на работу в любом браузере.
Работа на Android по умолчанию, Android Chrome и iOS Safari 100%
источник
*
вы можете просто использовать, напримерbutton
, если ваша проблема связана с кнопками.в вашем файле css. У меня это сработало!
источник
Удалите оранжевое поле в фокусе ввода для Android
нажмите-выделить-цвет для большинства версий
пользовательская модификация для 4.0.4
источник
Попробуйте Focus Line
источник
Имейте в виду, что использование этого CSS
-webkit-user-modify: read-write-plaintext-only;
устранит эту ужасную «ошибку» выделения - НО это может убить способность ваших устройств предоставлять определенную клавиатуру. Для нас, использующих Android 4.0.3 на Samsung Tab 2, мы больше не могли получить цифровую клавиатуру. Даже при использовании type = 'number' и / или type = 'tel'. Очень неприятно! Кстати, настройка цвета подсветки касания не решила эту проблему для этого устройства и конфигурации ОС. Мы запускаем Safari для Android.источник
Чтобы убедиться, что
tap-highlight-color
переопределение свойств работает для вас, сначала учтите следующие моменты:Этот случай работает для Android от v2.3 до v4.x даже в приложении PhongeGap. Я тестировал его на Galaxy Y с Android 2.3.3, на Nexus 4 с Android 4.2.2 и на Galaxy Note 2 с Android 4.1.2. Поэтому не определяйте его для состояний только для самого элемента .
источник
Используйте приведенный ниже код в файле CSS
Для меня это работа. Надеюсь, это сработает для вас.
источник
Это не сработало для меня со ссылками на область карты изображений, единственным работающим решением было использование javascript, захватывая событие ontouchend и предотвращая поведение браузера по умолчанию, возвращая false в обработчике.
с jQuery:
источник
Я просто хотел поделиться своим опытом. Я действительно не заставил это работать, и я хотел избежать медленного css- *. Мое решение заключалось в том, чтобы загрузить старый добрый Eric Meyer Reset CSS v2.0 ( http://meyerweb.com/eric/tools/css/reset/ ) и добавить его в мой проект телефонной связи. Затем я добавил:
По моему опыту, это более быстрый подход к *, но это также подход к менее странным ошибкам. Комбинация выделения по нажатию, -webkit-user-modify: read-write-plaintext-only и отключение, например, выделения текста, дала нам много головных болей. Одна из худших - внезапно перестает работать ввод с клавиатуры и замедляется визуализация клавиатуры.
Полный сброс CSS с отключенной оранжевой подсветкой:
источник
Я пробовал это и отлично работал: -
HTML: -
css
источник
Это будет работать не только для нажатий, но и для наведения:
источник
источник
Эта работа для меня в Ionic, просто вставьте файл CSS, чтобы перезаписать
источник
Если в дизайне не используются контуры, это должно сработать:
источник
Попробуйте следующий код, который отключает контур границы
источник