Utility functions in KnockoutJS

http://www.knockmeout.net/2011/04/utility-functions-in-knockoutjs.html

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.3.0/knockout-min.js"></script>
<input data-bind="value: demo, valueUpdate: 'afterkeydown'" />

JavaScript

var viewModel = function () {

    var self = this;
    
    self.demo = ko.observable('');
    
    self.myFunction = function(){
        alert("fired");
    }
    
    self.worker = ko.computed(function () {
        if (self.demo()) self.myFunction();
    }, this);
}

var VM = new viewModel();
ko.applyBindings(VM);