自動数値ライブラリをアタッチするためにカスタムバインディングを使用しています(フィールドで数値のみを使用するため)。ユーザーがフィールドを離れた後、何かが変更された場合、プログラムは runcomputepage という名前の js 関数を実行します。問題は、イベントが発生しないことです。
デフォルトで bind(data-bind="number" の代わりに data-bind="value") のままにすると、イベントが実行されます。
ko.bindingHandlers.number = {
init: function (element, valueAccessor, allBindingsAccessor) {
ko.utils.registerEventHandler(element, 'focusout', function () {
var observable = valueAccessor();
observable($(element).val());
$(element).autoNumeric('init');
});
},
update: function (element, valueAccessor, allBindingsAccessor) {
var value = ko.utils.unwrapObservable(valueAccessor());
$(element).val(value);
$(element).autoNumeric('init');
}
};