Задать вопрос
@lookingfor2

Как найти input под фокусом?

Есть коллекция inputов

var input = document.getElementsByTagName('input')[0];

input.onfocus = (call) => {
    console.log(call)
}


Так сработает, но если не укажу ключ элемента, логично что работать не будет.
Как определить на каком инпуте из всей коллекции фокус
  • Вопрос задан
  • 880 просмотров
Подписаться 1 Простой 4 комментария
Решения вопроса 2
Aetae
@Aetae Куратор тега JavaScript
Тлен
Ответ на вопрос: document.activeElement.
Ответ на то что подразумевалось в вопросе:
function onInputFocus(){
   console.log(this)
}
var inputs = document.getElementsByTagName('input');
for(var i = inputs.length; i--;) 
  inputs[i].addEventListener('focus', onInputFocus);
или, если нужна поддержка динамически добавленного:
document.addEventListener('focus', function(event){
  var target = event.target;
  if(!target || target.tagName !== 'INPUT') return;
  console.log(target)
}, true)
Ответ написан
zkrvndm
@zkrvndm
Архитектор решений
Найти элемент под фокусом можно вот так:
document.querySelector('input:focus');
Способ простой, но не все о нём знают.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы