【发布时间】:2011-11-15 20:18:37
【问题描述】:
在回调函数内部调用类的方法时,不能使用this对象。
要调用该方法,在javascript中,我声明that变量,将this分配给that,并在回调中使用that来调用this的方法。
在 actionscript 中,我必须像在 javascript 中那样做吗?
以下代码是使用that 调用回调内部方法的示例。
actionscript中有没有更简单的方法?
class C {
private var that:C;
function C() {
that = this
}
public function f1():void {
var sp:Sprite = new Sprite;
sp.addEventListener(MouseEvent.CLICK, function():void {
this.f2(); // this doesn't work
that.f2(); // that works
});
}
public function f2():void {
trace('hello');
}
}
【问题讨论】:
-
你为什么不省略'this'?
-
@OXMO456 非常感谢。省略
this有效。这是非常简单的解决方案。
标签: flash actionscript-3 actionscript callback event-listener