@denism300

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

Есть форма поиска, которая появляется при нажатии на кнопку. Хочу установить фокус в поле ввода. Написал код:
$(document).on('click', '.header-search__popup', function() {
    var search = $(document).find('input.aws-search-field');
    console.log(search);
    search.focus();
})

при этом, в консоль информация об элементе выводится
5fbcf7140fcc0785263908.jpeg
  • Вопрос задан
  • 130 просмотров
Решения вопроса 1
zkrvndm
@zkrvndm
Архитектор решений
Во первых, во время установки установки фокуса консоль должна быть закрыта, иначе она может перехватывать фокус на себя. Во вторых, при установке фокуса лучше делать небольшую задержку, это нужно если вдруг кнопка на которую вы нажимайте тоже может иметь фокус, а два фокуса на странице иметь нельзя.

Делайте так:
$('.header-search__popup').click(function() {
    setTimeout(function() {
        $('input.aws-search-field').focus();
    }, 200);
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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