Как установить фокус с помощью jQuery на элемент, который только что появился - PullRequest
2 голосов
/ 17 февраля 2012

У меня есть готовый блок документа следующим образом:

$(document).ready(function () {
    $('#addTagLink').click(function () {
        $('#addTagField').show();
        $('#addTagField').val("");
        $('#addTagField').focus();
    });
});

addTagField - это обычный текстовый ввод с отображением: ни один не устанавливается css при загрузке страницы.

Когда пользователь нажимает на элемент addTagLink, поле ввода отображается правильно, но фокус не устанавливается на поле, как предполагалось.

Я подумал, что это должно быть как-то связано сфункция display: none / show (), поэтому изменил $('#addTagField').focus(); на другое поле $('#name').focus();, которое работало идеально.

Может кто-нибудь подсказать, во-первых, почему я вижу эту проблему, а во-вторых, как ее исправить?

Ответы [ 2 ]

6 голосов
/ 27 июля 2012

Оказывается, это была проблема с моими идентификаторами элементов. К сожалению.

3 голосов
/ 19 июля 2018
// Variable to store element
var btn = document.querySelector( ".btn-primary");

// Click Event
$(btn).click(function() {

  // Jquery to define which element will get focus
  $(".form-control").focus();

});
...