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

Почему событие blur() для li не работает?

Есть примерно такой список:
<ul id="faq" class="faq">
  <li>
    Lorem ipsum...
  </li>

  <li>
    Lorem ipsum...
  </li>

  ...
</ul>

Собирался отловить blur для всех li и... короче это не важно. А важно то, что написал вот такой (тоже примерно) код, и понял что функция не работает :(
var faq = document.getElementById('faq'),
    qas = faq.getElementsByTagName('li');

for (i = 0; i < qas.length; i++) {
  qas[i].addEventListener('blur', qasBlur, false);
}

function qasBlur() {
  alert('Я работаю!');
}

Скажите пожалуйста, что я делаю не так?
  • Вопрос задан
  • 2411 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 2
BuriK666
@BuriK666
Компьютерный псих
Добавьте к LI tabindex
jsfiddle.net/mc4tN/2
Ответ написан
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
blur не работает так как небыло focus. А focus небыло потому что это обычный li а не элемент формы. Как верно сказал Андрей Буров, добавление атрибута tabindex позволит выставлять фокус на этот элемент, а следовательно появится и событие blur.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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