将事件监听器放在不同的类中..?

时间:2011-07-18 10:45:54

标签: flex actionscript-3

让我说我有这个名为“Click_Here”的按钮,我在一些类文件中添加了一个事件监听器,以便它在另一个类文件中运行事件处理程序。 所以它就像这样

classfile1.as

Click_Here.addEventListner(MouseEvent.CLICK , buttonClicked ) ;

classfile2.as

public function buttonClicked (e:MouseEvent){ trace ("hello");}

可能......?

3 个答案:

答案 0 :(得分:3)

是。考虑上课:

public class MyClass
{
    public function MyClass()
    {
    }

    public static function staticListener(evt:MouseEvent):void {
        trace("static");
    }

    public function instanceListener(evt:MouseEvent):void {
        trace("instance");
    }
}

现在这样做:

Click_Here.addEventListner(ouseEvent.CLICK , MyClass.staticListener);

或者:

var obj:MyClass = new MyClass();
Click_Here.addEventListner(ouseEvent.CLICK , obj.instanceListener);

答案 1 :(得分:2)

是的,这是可能的:

Click_Here.addEventListner(MouseEvent.CLICK , instanceOfClass2.buttonClicked ) ;

答案 2 :(得分:0)

参见

o'reilly必要的动作脚本3.0。书。

这会让你清楚明白。