MyObj =
{
ajax: null,
init: function()
{
this.ajax = Cc["@mozilla.org/xmlextras/xmlhttprequest;1"]
.createInstance();
this.ajax.onload = function()
{
return function() {this.onload.apply(this, [null]);}
};
},
onload: function ()
{
Reader.log("I really hope I can use `this.ajax` here");
}
}
isn't it correct way to bind onload to MyObj? For some reason onload never called. However if I avoid binding and just put this.ajax.onload = this.onload then onload invoked. How to get binding work?
asked May 9, 2010 at 3:02
Pablo
29.7k37 gold badges139 silver badges227 bronze badges
1 Answer 1
and I will answer myself...
I should have called the function
var me = this;
this.ajax.onload = (function()
{
return function() {me.onload.apply(me, [null]);}
})();
answered May 9, 2010 at 3:13
Pablo
29.7k37 gold badges139 silver badges227 bronze badges
lang-js