Alexanevsky
@Alexanevsky
Любительская web-разработка

Как установить курсор в input при jQuery click?

Здравствуйте!
Заранее извините за тупой вопрос.

На странице есть две формы: одна просто на странице, другая во "всплывающем блоке" (в div, который показывается при клике на нужную кнопку).

Чтобы при загрузке страницы input c id name автоматически брался в фокус, я использую:
$(function() {
	$('#form-onpage #name').focus();
});

Всё работает. Но мне также необходимо, чтобы при появлении всплывающего блока в фокус брался input, находящийся в этом всплывающем div. Я пытаюсь так:
$('#button-openpopup').click(function(){ 
	$('#form-popup').addClass('active');
	$('#form-popup #name').focus();
});

Но ничего не работает.

Как же исправить эту ситуацию?

С уважением,
Александр.
  • Вопрос задан
  • 31973 просмотра
Пригласить эксперта
Ответы на вопрос 6
phplamer
@phplamer
Скорее всего у вас на событии focus висит какой-то обработчик.
Выполните
$('#form-popup #name').focus
Увидите текст обработчика(если я не ошибаюсь и он есть).
Ответ написан
Комментировать
@prudcky
Была такая же проблема. Так же не могу усатновить фокус.
Решил -> Выбрал этот же элемент нативным js и работает ( диво дивное ), почему так - хз
let textUserQuestion = document.getElementById('textUserQuestion');
        textUserQuestion.focus();
Ответ написан
Комментировать
@asyrtmach
Еще не маловажный момент, установка .focus(); сработает только на видимом инпуте, если он скрыт в момент вызова focus(), не установится
Ответ написан
Комментировать
@IceJOKER
Web/Android developer
Два одинаковых id - как вы думаете насколько умен jQuery, чтоб понять какому из двух одинаковых id запросить фокус? О_О
Ответ написан
bolart
@bolart
программирую на PHP, хорошо знаю HTML, CSS, JQery
Вместо .click() используйте .on()
$('#button-openpopup').on('click', function(){
$('#form-popup').addClass('active');
$('#form-popup #name').focus();
});

И да, два одинаковых ID не работают корректно
Ответ написан
Благодарю за разбор вопроса.
Тоже решило мою проблему.
Только я до сих пор не понимаю,
почему она вообще возникла.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
22 нояб. 2024, в 19:51
15000 руб./за проект
22 нояб. 2024, в 19:15
200000 руб./за проект
22 нояб. 2024, в 18:50
30000 руб./за проект