Автофокусировка на поле ввода, когда div сдвигается вниз
У меня есть скрытый div. Когда кнопка нажата, div сдвигается вниз с полем ввода. Как сделать это поле ввода автофокусом, как только div сдвинется вниз? Спасибо.
<input type="text" name="comment_field" id="comment_field" placeholder="Comment..." />
- это то, что у меня есть и находится в div
$("#status_comments_"+a).slideDown();
$("#comment_field").focus();
Я попытался использовать выше, но это не сработало.
Ответы
Ответ 1
Вы можете использовать функцию обратного вызова slideDown
, которая выполняется, когда анимация завершена.
$("#status_comments_"+a).slideDown(function(){
$("#comment_field").focus();
});
Обратите внимание, что идентификаторы должны быть уникальными, иначе ваш идентификатор выбирает только первый элемент с этим конкретным идентификатором. Если элемент ввода находится в теге div, вы также можете кодировать:
$("#status_comments_"+a).slideDown(function(){
$('input', this).focus();
});
Ответ 2
$("#divId").show().focus();
document.getElementById('divID').focus();
Ответ 3
скрытое поле не может получить фокус. Так что вам нужно сделать, это нажать кнопку, которую вы должны показать.
$("#status_comments_"+a).show().slideDown();
$("#comment_field").show().focus();
Ответ 4
$("#divID").focus();
или без jQuery:
document.getElementById('divID').focus();