按下回车键后如何再次关注文本框?

时间:2013-09-30 15:20:24

标签: jquery knockout.js knockout-2.0

这可能是一个微不足道的问题,但我有一个简单的文本框和一个按钮,可以将文本框中输入的项目添加到列表中,如下所示:

<input type="text" placeholder="Add New Tag" data-bind="value: tagToAdd, valueUpdate: 'afterkeydown', executeOnEnter: addTag" />
<button data-bind="click: addTag">+ ADD</button>

该程序按预期工作,但每次按Enter键并将项目添加到列表中后,“+ ADD”按钮将被聚焦,除非我使用鼠标单击,否则我无法键入文本框文本框再次。有没有办法聚焦文本框,所以我只需输入我的数据,按回车键,然后直接输入一个新的值,而不必拿起鼠标?

谢谢!

1 个答案:

答案 0 :(得分:2)

在observable上使用setFocus属性,并在添加后将属性设置为true;

var focusOnMe = ko.observable(false);

var addSomething= function () {
     // Do something
     focusOnMe(true);
};        

<input data-bind="value: someText, hasFocus: focusOnMe "/>