Автофокусировка на поле ввода, когда 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();