@gcj

Как проверить все элементы на отсутствие фокуса?

Приветствую, следующий код:
$(document).keyup(function(event){
	var $srchForm = $("input#search-form"),
	$lnk_logo = $("a.lnk-logo");
	if (event.keyCode == 9 && $lnk_logo.is(":focus")) {
		$srchForm.focus();
	}
});

Если нажат Tab (код: 9) и фокус установлен на a.lnk-logo, то выполняется некоторое действие.
Задача
Организовать условие: если нажат Tab и фокус ОТСУТСТВУЕТ на всех элементах страницы, то выполнять $srchForm.focus();

Спасибо.
  • Вопрос задан
  • 446 просмотров
Пригласить эксперта
Ответы на вопрос 3
if (document.activeElement === document.body || document.activeElement === null) {
  // фокус не установлен
}
Ответ написан
Комментировать
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
ruFelix
@ruFelix
Предсказание будущего по руке, таро, кофе.
https://developer.mozilla.org/en-US/docs/Web/API/D...

$(document).keyup(function(event){
  var $srchForm = $("input#search-form"),
  $lnk_logo = $("a.lnk-logo");
  if (event.keyCode == 9 && document.activeElement.tagName == 'BODY') {
    $srchForm.focus();
  }
});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы