Lots of custom bindings

http://stackoverflow.com/questions/8927909/knockout-js-lots-of-custom-bindings

by rniemeyer

HTML

<script src="http://knockoutjs.com/downloads/knockout-2.0.0.debug.js"></script>
<span data-bind="image_url: company_banner"></span>

JavaScript

ko.lenientBindingProvider = function() {
   var realBindingProvider = new ko.bindingProvider();
  
   this.nodeHasBindings = realBindingProvider.nodeHasBindings;
   
   this.getBindings = function(node, bindingContext) {
       //parse the bindings with the real binding provider
       var result = realBindingProvider.getBindings(node, bindingContext);
       
       //inspect the returned bindings
       for (var binding in result) {
           if (result.hasOwnProperty(binding) && binding !== "_ko_property_writers" && !ko.bindingHandlers[binding]) {
                //add a text binding with whatever the missing binding was bound against
                result.text = result[binding];
           } 
       }
       
       return result;  
   };
};

ko.bindingProvider.instance = new ko.lenientBindingProvider();

var viewModel = {
    company_banner: ko.observable("My Banner")  
};

ko.applyBindings(viewModel);