Автофокус на поле ввода, когда div скользит вниз

У меня есть скрытый div. Когда кнопка нажата, div скользит вниз с полем ввода. Как мне сделать это поле ввода автофокусом, как только div скользит вниз? Спасибо.

<input type="text" name="comment_field" id="comment_field" placeholder="Comment..." />

это то, что у меня есть, и находится в div

$("#status_comments_"+a).slideDown();
    $("#comment_field").focus();

Я пытался использовать вышеуказанное, но это не сработало.


person Elmer Almeida    schedule 15.09.2012    source источник


Ответы (3)


Вы можете использовать функцию обратного вызова slideDown, которая выполняется после завершения анимации.

$("#status_comments_"+a).slideDown(function(){
    $("#comment_field").focus();
});

Обратите внимание, что идентификаторы должны быть уникальными, иначе ваш селектор идентификаторов выберет только первый элемент с этим конкретным идентификатором. Если элемент ввода находится внутри тега div, вы также можете закодировать:

$("#status_comments_"+a).slideDown(function(){
    $('input', this).focus();
});
person undefined    schedule 15.09.2012

скрытое поле не может получить фокус ... поэтому вам нужно нажать кнопку, чтобы показать их.

$("#status_comments_"+a).show().slideDown();
    $("#comment_field").show().focus();
person Pranav    schedule 15.09.2012

$("#divID").focus();

или без jQuery:

document.getElementById('divID').focus();
person user5004402    schedule 12.06.2015