jQuery创建输入字段并设置焦点

时间:2012-08-21 09:52:21

标签: jquery html html-lists

我正在努力:

  • 使用输入字段
  • 创建新的列表项
  • 将焦点设置为该新字段

    $("#newList").click(function () {
        $('li.divider').before('<li class="newListName"><input id="newListNameInput" /></li>',function() {
            $('#newListNameInput').focus();
        });
    });
    

新的列表项已创建,但没有焦点。 非常感谢帮助!

3 个答案:

答案 0 :(得分:1)

没有处理程序作为before的第二个参数,所以只需使用:

$("#newList").click(function() {
    $('li.divider').before('<li class="newListName"><input id="newListNameInput" /></li>');
    $('#newListNameInput').focus();
});

但是,如果添加许多新的input元素,请注意重复ID。也许最好使用类。

DEMO: http://jsfiddle.net/CANWE/

答案 1 :(得分:1)

before()是同步的,不接受回调参数。你只需写:

$("#newList").click(function() {
    $('li.divider').before('<li class="newListName"><input id="newListNameInput" /></li>');
    $('#newListNameInput').focus();
});

或许,如果你想利用链接:

$("#newList").click(function() {
    $('<li class="newListName"><input id="newListNameInput" /></li>')
        .insertBefore("li.divider").find("input").focus();
});

答案 2 :(得分:1)