Когда Вы касаетесь элемента HTML в Safari на iPad, он стал серым. Что должна решить логика, какой элемент среди вложенных элементов отображают серым?

Когда Вы касаетесь элемента, такого как окно редактирования, в веб-странице на iPad, это стало серым, в то время как Вы касаетесь его.

Мне перенесло таблицу плавающее отделение. Вместо отдельного элемента данных или строки, идущей серый, целая таблица (или ее переносящееся отделение) идет серая, когда элемент данных затронут. (Функция этой таблицы является всплывающим окном автоматического заполнения),

В другом месте в сайте, у меня есть таблица, в которой только затронутый элемент данных идет серый.

Я задался вопросом, мог ли кто-либо направить меня к объяснению логики позади этого седения на касании, так, чтобы мы могли кодировать нашу таблицу для предоставления желаемого поведения. Идеально, мы хотели бы, чтобы строка выделилась, когда она затронута.

В альтернативе, если бы мы могли бы выключить это поведение седения, которое было бы другой опцией. Мы могли затем кодировать выделение нас. Существует ли способ выключить это поведение для конкретных элементов HTML?

Спасибо.

11
задан Andrew 11 August 2010 в 23:02
поделиться

3 ответа

Этот автор предлагает решение, как убрать подсветку:

Если по какой-то причине вы не хотите, чтобы некоторые элементы вашего сайта или приложения были выделены, просто добавьте следующее CSS-правило к соответствующим элементам.

-webkit-tap-highlight-color: rgba(0,0,0,0); 

Оно не отключит подсветку, но сделает ее невидимой (непрозрачность равна нулю).

Однако я не проверял это.

23
ответ дан 3 December 2019 в 04:51
поделиться

Я обнаружил кое-что о "логике" поведения серого цвета. Похоже, что элементы, имеющие обработчики, такие как onclick, onmousedown и т.д., проявляют такое поведение, а элементы без таких обработчиков - нет. Обходным решением (несколько утомительным) для нас является изменение кода автозаполнения таким образом, чтобы каждая строка имела свой собственный обработчик onmousedown и т.д., а не оберточный div заботился об этом.

1
ответ дан 3 December 2019 в 04:51
поделиться

Попробуйте стилизовать оберточный div с select:none;

Это должно отключить его, и тогда вы сможете самостоятельно закодировать выделение onfocus.

Большинство браузеров действительно делают это, но это немного более заметно на iPad и других сенсорных устройствах Apple. На самом деле это сделано для удобства использования, поэтому я бы рекомендовал отключать его только в том случае, если он вызывает проблемы, подобные той, о которой вы упомянули. Она служит для того, чтобы пользователь знал, на что он нажимает, и дает ему возможность убрать палец, если он нажал не на ту вещь.

-1
ответ дан 3 December 2019 в 04:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: