0

これは些細な質問かもしれませんが、次のように、単純なテキスト ボックスと、テキスト ボックスに入力された項目をリストに追加するボタンがあります。

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

プログラムは意図したとおりに動作しますが、Enter キーを押してアイテムがリストに追加されるたびに、[+ 追加] ボタンがフォーカスされ、マウスを使用してテキスト ボックスを再度クリックしない限り、テキスト ボックスに入力できません。 . テキストボックスにフォーカスを当てて、データを入力し、Enter キーを押してから、マウスを持ち上げなくても新しい値を直接入力できるようにする方法はありますか?

ありがとうございました!

4

1 に答える 1

2

オブザーバブルで setFocus 属性を使用し、追加後に属性を true に設定します。

var focusOnMe = ko.observable(false);

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

<input data-bind="value: someText, hasFocus: focusOnMe "/>
于 2013-09-30T15:23:10.457 に答える