我正在努力:
将焦点设置为该新字段
$("#newList").click(function () {
$('li.divider').before('<li class="newListName"><input id="newListNameInput" /></li>',function() {
$('#newListNameInput').focus();
});
});
新的列表项已创建,但没有焦点。 非常感谢帮助!
答案 0 :(得分:1)
没有处理程序作为before
的第二个参数,所以只需使用:
$("#newList").click(function() {
$('li.divider').before('<li class="newListName"><input id="newListNameInput" /></li>');
$('#newListNameInput').focus();
});
但是,如果添加许多新的input
元素,请注意重复ID。也许最好使用类。
答案 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)