Overwritten “this” variable problem or how to call a member function?
I have this class where I am using a combination of jQuery and Prototype : var MyClass = Class.create({ initElements: function(sumEl) { this.sumEl = sumEl; sumEl.keyup(this.updateSumHandler); }, updateSumHandler: function(event) { // Throws error here: "this.updateSum is not a function" this.updateSum(); }, updateSum: function() { // does something here } }); How can I call this.updateSum() after all? You need to use closures. initElements: function(sumEl) { this.sumEl = sumEl; var ref = this; sumEl.keyup( function(){ref.updateSumHandler();}); }, Martijn Laarman Totally untested suggestion: