如何将eventListener添加到AS3中具有相同类的所有对象?

时间:2013-02-25 18:46:24

标签: actionscript-3

我在舞台上有多个文本字段,我想一次向所有这些字段添加一个eventListener,而不必为每个文本字段分配实例名称。我可以通过简单地将一个eventListener添加到TextField类来实现这一点,这样每个文本对象都可以拥有这个eventListener吗? 提前致谢

2 个答案:

答案 0 :(得分:0)

如果你在主舞台上有TextField,你可以这样做:

 for (var i:int=0; i<this.numChildren; i++) {
      var do:DisplayObject = this.getChildAtIndex(i);
      if (do is TextField) {
           do.addEventListener (yourListener, yourCallback);

      }

 }

答案 1 :(得分:0)

如果您要在显示列表中打开和关闭TextField,您可以执行诸如为ADDED_TO_STAGE添加侦听器之类的操作。此事件不会冒泡,因此您需要将useCapture标志设置为true。

听众可能看起来像:

protected function onAdded(e:Event):void {
   if (e.target is TextField) {
       e.addEventListener(someEvent, someFunction);
   }
}