The behavior of this when function bar
is called is baffling me. See the code below. Is there any way to arrange for this to be a plain old js object instance when bar is called from a click handler, instead of being the html element?
// a class with a method
function foo() {
this.bar(); // when called here, this is the foo instance
var barf = this.bar;
barf(); // when called here, this is the global object
// when called from a click, this is the html element
$(#thing).after($(<div>click me</div>).click(barf));
}
foo.prototype.bar = function() {
alert(this);
}