使用 addeventlistener 处理另一个类文件

Posted

技术标签:

【中文标题】使用 addeventlistener 处理另一个类文件【英文标题】:Using addeventlistener handle another class file 【发布时间】:2013-09-15 10:32:06 【问题描述】:

我知道我可以使用 addEventListener 方法来处理一个:

addEventListener(SFSEvent.CONNECTION, MyMethod)

就像处理另一个类中的方法一样?喜欢...

addEventListener(SFSEvent.CONNECTION, Myclass.class)

addEventListener(SFSEvent.CONNECTION, MyClass.method)

【问题讨论】:

【参考方案1】:

您可以将另一个函数处理程序传递给一个类

例如

Class A 

     public function A() 
          addEventListener(SFSEvent.CONNECTION, MyMethod);
     

     private function _handler:Function;

     public function set handler(value:Function):void 
           _handler = value;
     

     private function MyMethod(e:SFSEvent):void 

        if (_handler) 
            _handler.apply(null, someParam);
        
     


然后将目标处理程序传递给A实例

var a:A = new A();
var b:Myclass = new Myclass();
a.handler = b.someMethod;

如果函数是静态函数,你可以这样做

addEventListener(SFSEvent.CONNECTION, SomeClass.aStaticFunction);

【讨论】:

以上是关于使用 addeventlistener 处理另一个类文件的主要内容,如果未能解决你的问题,请参考以下文章

addeventlistener 与 removeeventlistener

addEventListener和attachEvent以及element.onclick的区别

Object #<Controller> 没有方法 addEventListener

addEventListener的click和onclick的区别

htmlunit 和 document.addEventListener

Js事件传播流程