Можно ли сосредоточиться на <div>
использовании focus()
функции JavaScript ?
У меня есть <div>
тег
<div id="tries">You have 3 tries left</div>
Я пытаюсь сосредоточиться на вышесказанном, <div>
используя:
document.getElementById('tries').focus();
Но это не работает. Может ли кто-то предложить что-то ....?
javascript
focus
О.М. Вечность
источник
источник
div
может принимать ввод, если они переполняются и отображать полосу прокрутки. Когдаdiv
фокус с ползунком прокручивается, клавиши со стрелками прокручивают его содержимое (вместо содержимого других элементов, напримерbody
).Ответы:
Это позволит перейти к рассматриваемому элементу, по сути, «сфокусировав» его.
источник
Да, это возможно Для этого вам нужно назначить tabindex ...
Табличный индекс 0 будет помещать тег «в естественном порядке табуляции страницы». Более высокое число придаст ему определенный порядок приоритета, где 1 будет первым, 2 секунды и так далее.
Вы также можете задать tabindex -1, что сделает div доступным только для сценария, а не для пользователя.
Очевидно, обидно иметь элемент, который вы можете сфокусировать с помощью скрипта, который вы не можете сфокусировать с помощью другого метода ввода (особенно, если у пользователя только клавиатура или аналогичные ограничения). Существует также целый ряд стандартных элементов, которые по умолчанию фокусируются и содержат семантическую информацию, помогающую пользователям. Используйте эти знания с умом.
источник
focus()
.tabindex
к элементу сделает его Focusable, что позволяетfocus()
иblur()
методы, а затем вы можете вызвать фокус , как это:document.getElementById('tries').focus();
window.location.hash = ...
это способ сделать это. Фокус не означает «привлечь внимание», это просто означает, что нужно сосредоточиться на этом элементе.document.getElementById('tries').scrollIntoView()
работает. Это работает лучше, чемwindow.location.hash
когда вы зафиксировали положение.источник
tabindex
атрибута) в оверлейномfocus()
элементе div и использовать его вместо этого.Вы можете использовать tabindex
Значение tabindex может привести к интересному поведению.
источник
источник
$('#inner').focus();
Я хотел предложить что-то вроде Майкла Шиммина, но без жесткого кодирования таких вещей, как элемент или CSS, который к нему применяется.
Я использую только jQuery для добавления / удаления класса, если вы не хотите использовать jquery, вам просто нужна замена для add / removeClass
--Javascript
--CSS
источник
источник
Чтобы сделать мигание границы, вы можете сделать это:
Это сделает границу сплошным красным на 1 секунду, а затем удалите ее снова
источник