I would like to know if it is possible to create multiple bindings on an event in knockout.js
example:
<span data-bind="click: function1 function2, attr: {}"></span>
Try to use
<span data-bind="click: function() { function1(); function2() }"></span>
EDIT: I accidentally used the MooTools typeOf() without thinking. Fixed.
Here's what I came up with. I admit it's overkill for most situations but the syntax is a bit cleaner on the template side:
View Model:
var ViewModel = new function() { this.call = function(functions,args) { if (!(functions instanceof Array)) functions = [functions]; if (!(args instanceof Array)) args = [args]; return function() { for (var i = 0, l = functions.length; i < l; i++) { functions[i].apply(this,args); } } } this.testValue=ko.observable('Click me!'); this.click1 = function(foo) { this.testValue('click1 ' + foo); alert(1); } this.click2 = function(foo) { this.testValue('click2 ' + foo); alert(2); } }
and template
<span data-bind="click:call([click1,click2],['Test value'])">Test span</span>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With