knockout applyBindings ignore selector

http://stackoverflow.com/questions/9137209/knockout-applybindings-ignore-selector

by goranobradovic

HTML

<script src="https://github.com/downloads/SteveSanderson/knockout/knockout-2.0.0.debug.js"></script>
<input class="boundFirst" data-bind="value: name" />

<hr/>

<input class="skip" data-bind="value: name" />

<hr/>

<button data-bind="click: bindOther">Bind Other</button>

JavaScript

var myPartialBindingProvider = function(initialExclusionSelector) {

        var result = new ko.bindingProvider(),
            originalHasBindings = result.nodeHasBindings;

        result.exclusionSelector = initialExclusionSelector;

        result.nodeHasBindings = function (node) {
            var skip = $(node).is(result.exclusionSelector) ||
                $(node).parents(result.exclusionSelector).length > 0;
            return !skip && originalHasBindings.call(this, node);
        };

        return result;
};


ko.bindingProvider.instance = new myPartialBindingProvider(".skip");


var viewModel = {
    name: ko.observable("test"),
    bindOther: function() {
        ko.bindingProvider.instance.exclusionSelector = ".boundFirst";
        ko.applyBindings(viewModel);
    }
};

ko.applyBindings(viewModel);