JSFiddle - React, Tailwind, and code Playground
HTML
<script src="http://github.com/downloads/SteveSanderson/knockout/knockout-1.2.0.js"></script>
<p>Enter a numeric value: <input data-bind="numericValue: someValue" /></p>
<p>Your value is: <span data-bind="text: someValue"></span></p>
JavaScript
ko.bindingHandlers.numericValue = {
init : function(element, valueAccessor, allBindingsAccessor) {
var underlyingObservable = valueAccessor();
var interceptor = ko.dependentObservable({
read: underlyingObservable,
write: function(value) {
if (!isNaN(value)) {
underlyingObservable(parseFloat(value));
}
}
});
ko.bindingHandlers.value.init(element, function() { return interceptor }, allBindingsAccessor);
},
update : ko.bindingHandlers.value.update
};
var viewModel = {
someValue : ko.observable(123)
};
ko.applyBindings(viewModel);