如何在刚刚出现的元素上使用jQuery设置焦点

时间:2012-02-17 12:01:12

标签: jquery focus show setfocus

我有一个文档就绪块,如下所示:

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

addTagField是一个常规文本输入,在页面加载时由css设置display:none。

当用户点击addTagLink元素时,输入字段会正确显示,但焦点不会按预期设置到字段。

我认为它必须与display:none / show()功能有关,因此将$('#addTagField').focus();更改为另一个完美运行的字段$('#name').focus();

任何人都可以先建议我为什么会看到这个问题,其次,如何解决这个问题?

2 个答案:

答案 0 :(得分:6)

原来这是我的元素ID的问题。糟糕。

答案 1 :(得分:3)

// 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();

});