Class A (mine) implements event handlers for class B (3rd party). Within these event handlers, I would like to access class A\'s properties.
Using this in c
Another solution is to bind your event handlers to your object!
You first need the add the bind method to any function object. Use this code:
Function.prototype.bind = function(scope) {
var func = this;
return function() {
return func.apply(scope, arguments);
}
}
Now you can register your class B event handlers to your class A methods this way:
var a = new A();
var b = new B();
b.registerEvent(a.eventHandlerMethod.bind(a));
This way any references to this within the code of A.eventHandlerMethod will point to object a.
If you need a deeper understanding of this stuff you can read this great article: http://www.alistapart.com/articles/getoutbindingsituations/
Another article: http://alternateidea.com/blog/articles/2007/7/18/javascript-scope-and-binding