【发布时间】:2013-02-25 18:46:23
【问题描述】:
我在舞台上有多个文本字段,我想一次向所有文本字段添加一个 eventListener,而不必为每个文本字段分配实例名称。我可以通过简单地向 TextField 类添加一个 eventListener 来做到这一点,以便每个文本对象都可以拥有这个 eventListener 吗? 在此先感谢
【问题讨论】:
标签: actionscript-3
我在舞台上有多个文本字段,我想一次向所有文本字段添加一个 eventListener,而不必为每个文本字段分配实例名称。我可以通过简单地向 TextField 类添加一个 eventListener 来做到这一点,以便每个文本对象都可以拥有这个 eventListener 吗? 在此先感谢
【问题讨论】:
标签: actionscript-3
如果您的 TextField 在主舞台上,您可以这样做:
for (var i:int=0; i<this.numChildren; i++) {
var do:DisplayObject = this.getChildAtIndex(i);
if (do is TextField) {
do.addEventListener (yourListener, yourCallback);
}
}
【讨论】:
如果您要让 TextFields 在显示列表中打开或关闭,您可以执行一些操作,例如为 ADDED_TO_STAGE 添加一个侦听器。此事件不会冒泡,因此您需要将 useCapture 标志设置为 true。
监听器可能看起来像:
受保护的函数 onAdded(e:Event):void { if (e.target 是 TextField) { e.addEventListener(someEvent, someFunction); } }【讨论】: