1

我想知道如何集中精力。这是我的代码:http: //jsfiddle.net/spadez/9sX6X/31/

var container = $('.copies'),
    value_src = $('#current'),
    maxFields = 10,
    currentFields = 1;

$('.copy_form').on('click', '.add', function () {
    if ($.trim(value_src.val()) != '') {
        if (currentFields < maxFields) {
            var value = value_src.val();
            var html = '<div class="line">' +
                '<input id="accepted" type="text" value="' + value + '" />' +
                '<input type="button" value="X" class="remove" />' +
                '</div>';

            $(html).appendTo(container);
            value_src.val('');
            currentFields++;
        } else {
            alert("You tried to add a field when there are already " + maxFields);
        }
    } else {
        alert("You didn't enter anything");
    }
})
    .on('click', '.remove', function () {
    $(this).parents('.line').remove();
    currentFields--;
});

当我在“内容”中添加一个值并单击添加时,我希望它重新关注“当前”字段,以便我可以开始输入更多内容。

4

4 回答 4

2

只需在点击事件中使用它.copy_form-

 value_src.focus();

演示--> http://jsfiddle.net/9sX6X/35/

于 2013-06-19T13:56:21.750 回答
2

你需要focus()jQuery函数:

.focus()

将事件处理程序绑定到“焦点”JavaScript 事件,或在元素上触发该事件。

这种方法是.on('focus', handler)第一变体和第二变体以及.trigger('focus')第三变体的捷径。

当元素获得焦点时,焦点事件被发送到元素。此事件隐式适用于一组有限的元素,例如表单元素 (, 等) 和链接 ()。在最近的浏览器版本中,可以通过显式设置元素的 tabindex 属性来扩展事件以包括所有元素类型。元素可以通过键盘命令(例如 Tab 键)或通过鼠标单击元素获得焦点。

具有焦点的元素通常由浏览器以某种方式突出显示,例如用虚线围绕元素。焦点用于确定哪个元素最先接收到键盘相关事件


因此,在您的代码中添加:

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

JSFIDDLE

于 2013-06-19T13:58:12.120 回答
0

检查文档jQuery.focus()

于 2013-06-19T13:55:47.157 回答
0

如果你把你的目标作为#target(这是here #current),你应该放入事件on('click', '.add'...)函数

$('#target').focus();
于 2013-06-19T13:59:06.103 回答