+1 tabindex является ключевым моментом, чтобы сделать div «выбираемым». JQuery не требуется, то же самое работает с Angular, а также (я полагаю) с обычными событиями JavaScript.
Юкка Далбом
4
Какая поддержка браузера для этого?
известноасиля
27
tabindex является ключевой частью, но не устанавливайте для него значение, отличное от «0». Если значение будет больше 0, это может испортить программы чтения с экрана для слабовидящих пользователей (оно пропустит все на странице и сразу перейдет к любому tabindex выше 0). tabindex = "0" делает его "tabbable." Вы можете иметь бесконечные элементы с tabindex = "0"
zonabi
2
Также работает с <pre>!
dfmiller
2
Превосходно! Мне не хватало атрибута tabindex, возможно, потому что DIV не могут получить фокус, если у них нет tabindex. Спасибо чувак! Спас мою жизнь! РЕДАКТИРОВАТЬ: работает также с React
HTML-атрибут tabindex указывает, может ли быть сфокусирован его элемент, и если / где он участвует в последовательной навигации по клавиатуре (обычно с помощью Tabклавиши). Читайте MDN Web Docs для полной справки.
Я действительно обнаружил, что это связано с тем, что возникает проблема с событием focusout, когда элементы управления div теряют фокус, скажем, чтобы щелкнуть по полосе прокрутки divs, просто добавление табуляции в div было исправлением, так что большое спасибо
Ответы:
(1) Установите
tabindex
атрибут:(2) Привязать к keydown:
Чтобы установить фокус на старте:
Чтобы удалить - если вам это не нравится -
div
границу фокуса, установитеoutline: none
в CSS.Посмотрите таблицу кодов клавиш для большего количества
keyCode
возможностей.Весь код предполагает, что вы используете jQuery.
#источник
Вот пример на простом JS:
источник
HTML-атрибут tabindex указывает, может ли быть сфокусирован его элемент, и если / где он участвует в последовательной навигации по клавиатуре (обычно с помощью
Tab
клавиши). Читайте MDN Web Docs для полной справки.Использование Jquery
Показать фрагмент кода
Использование JavaScript
Показать фрагмент кода
источник