Проверьте следующий фрагмент в текущем Chrome (80):
foo.addEventListener('click', () => {
console.log('button activated');
})
button:active {
background-color: yellow;
}
<button type="button" id="foo">Activate me using Click, Enter, Space</button>
Chrome применяет стили button:active
, когда кнопка нажата (вправо или влево) или активирована с помощью Пробел , , но не при активации с помощью Ввод .
Firefox применяет стили button:active
только при нажатии (только левая кнопка мыши) кнопка.
Кто-нибудь знает
- , как это должно работать , а
- как мне получить кнопку для отображения
button:active
независимо от того, какой из методов активации используется?
Я бы очень предпочел решение, основанное на CSS. Добавление / удаление класс с использованием ключевых слушателей был бы очень уродливым решением и не входит в сферу этого вопроса.
Edit
Должен быть или, по крайней мере, должен быть стандартный способ дать пользователь активирует кнопку с помощью Введите визуальную обратную связь о своем действии. Это поведение где-то не указано? Если бы это было так, я мог бы поднять его как проблему на баг-трекере Mozilla, а также на трекере проблем Chromium.