このような特定の要素にフォーカスを強制するために hasfocus を使用しています
this.inputHasFocus = ko.observable();
this.forceInputFocus = ko.computed({
read: function () {
return false;
},
write: function (value) {
this.inputHasFocus(true);
}
}, this);
inputHasFocus は、フォーカスを強制したい入力に hasfocus にバインドされており、forceInputFocus は、入力からフォーカスを奪いたくない他のすべての要素にバインドされています。
Firefox でこのフィドルを試してみてください。動作します (矢印ボタンを押すと、入力がフォーカスされます) http://jsfiddle.net/AWHhr/2/
Chrome を試してみてください。矢印ボタンを押しても、書き込みメソッドはトリガーされません。どうしたの?これを修正するより良い方法はありますか?
Src コード、94 行目から始まる関連コード https://github.com/AndersMalmgren/Knockout.Combobox/blob/master/src/knockout.combobox.js
編集: 分離された問題http://jsfiddle.net/ygCEs/2