Подтвердить что ты не робот

В любом случае, чтобы избежать синего выделения элементов в Chrome при быстром нажатии?

В большинстве случаев я не беспокоюсь об этом, но у меня есть карусель изображений, и если я быстро нажму на следующий и предыдущий divs, они будут выделены в Chrome.

Я попытался использовать контур: нет, но никакого эффекта. Существуют ли какие-либо решения?

4b9b3361

Ответ 1

В дополнение к ссылке, предоставленной Floremin, которая очищает выделение текста с помощью JavaScript, чтобы "очистить" выделение, вы также можете использовать чистый CSS для этого. CSS здесь...

.noSelect {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

Просто добавьте атрибут class="noSelect" к элементу, к class="noSelect" вы хотите применить этот класс. Я очень рекомендую попробовать это решение CSS. Ничего плохого в использовании JavaScript, я просто считаю, что это может быть проще, и немного очистить ваш код.

Для хрома на -webkit-tap-highlight-color: transparent; это дополнительное правило, с которым вы можете поэкспериментировать для поддержки в Android.

Ответ 2

Для Chrome на Android вы можете использовать CSS-свойство -webkit-tap-highlight-color:

-webkit-tap-highlight-color - это нестандартное свойство CSS, которое устанавливает цвет подсветки, которая появляется над ссылкой во время ее нажатия. Подсветка указывает пользователю, что его касание успешно распознается, и указывает, на каком элементе они касаются.

Чтобы полностью удалить выделение, вы можете установить значение transparent:

-webkit-tap-highlight-color: transparent;

Ответ 3

Я использую Chrome версии 60, и ни один из предыдущих ответов CSS не работал.

Я обнаружил, что Chrome добавляет синюю подсветку с помощью стиля outline. Добавление следующего CSS исправлено для меня:

:focus {
    outline: none !important;
}

Ответ 4

Но иногда даже при отключении user-select и touch-callout cursor: pointer; может вызвать этот эффект, поэтому просто установите cursor: default;, и он будет работать.

Ответ 5

Попробуйте создать обработчик для события select для этих элементов, а в обработчике вы можете очистить выделение.

Взгляните на это:

Очистить выбор текста с помощью JavaScript

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

Ответ 6

Это работает лучше для меня:

.noSelect:hover {
  background-color: white;
}