Use your own apply or call instead
this.myValue.on("change", function() { self.functionOne.apply(this, arguments); self.functionTwo.apply(this, arguments); });
$.proxy takes a function and returns a new one that will always have a specific context, and this works when it refers to the returned function, but not the way you do it in the callback, since the returned function is never called.
Of course you can use $.proxy and just call the returned function
this.myValue.on("change", function () { $.proxy(self.functionOne, self)(); $.proxy(self.functionTwo, self)(); });
or just let jQuery handle it, it optimizes events and uses an internal queue anyway
this.myValue.on("change", self.functionOne); this.myValue.on("change", self.functionTwo);
source share