From MooTools Users | Google Groups
#############
var toto = new Class ({
Implements: Options,
options: {
message: "toto"
},
initialize: function(elem, options){
this.setOptions(options);
this.alternateMessage = "a message";
this.elem = elem;
this.elem.addEvent('click', function(){
this.alternateMessage = "other message";
this.aMethod();
}.bind(this));
},
aMethod: function(){
alert(this.options.message);
}
});
##################
in this class, you can see two effects of this binding in this
function
this.elem.addEvent('click', function(){
this.alternateMessage = "other message";
this.aMethod();
}.bind(this));
– this.alternateMessage is now changed for the whole class, not only
inside the fucntion as this refers to the class
– without binding the click function with .bind(this) the result would
be «this.alternateMessage has no properties», «this.aMethod() is not a function»
binding the function to the class (this) allows it to use any method
or this.var set inside it
Moonkiki Web Development
this one can interest you
http://www.moonkiki.com/moonkiki/imoogle