Objekt.prototype.loadImg = function(pImg){
if(pImg!=null){
this.imgLoaded=false;
this.img = null;
this.img = new Image();
this.img.src = pImg;
this.img.onload = function(){
alert("!");
this.autoSize();
this.imgLoaded=true;
};
}
}
我的问题是“onload = function()”中的“this”无效 - 函数!
警报( “!”);是执行,但不是Objekt.prototype.autoSize() - 函数,例如!
如何调用我的“class-intern”功能(例如autoSize)???
答案 0 :(得分:1)
那是因为你的objekt作为接收者没有调用onload
函数。因此,在此回调中this
不是所需的对象。
您可以执行此操作以将this
传送到onload
回调:
Objekt.prototype.loadImg = function(pImg){
if(pImg!=null){
this.imgLoaded=false;
this.img = null;
this.img = new Image();
this.img.src = pImg;
var _this = this;
this.img.onload = function(){
alert("!");
_this.autoSize();
_this.imgLoaded=true;
};
}
}