knockoutjs subscribeメソッドでは、subscribeメソッド内でプロパティの値も設定します。そのため、メソッドは2回呼び出されます。1回目はUIで値が変更されたとき、2回目はsubscribeメソッド内で値が変更されたときです。
誰もがこのケースを回避する方法を知っています。
これは私のサンプルコードです:
var ViewModel = function(first) {
var self = this;
self.firstName = ko.observable(first);
self.firstName.subscribe(function(newValue) {
alert(newValue);
self.firstName(newValue.toUpperCase());
});
};
また、jsfiddlehttp://jsfiddle.net/ndkhoiits/4ABuq/に配置します