Flash 重复事件侦听器的数量?
在as3中,如果向对象添加相同的事件侦听器,例如Flash 重复事件侦听器的数量?,flash,actionscript-3,Flash,Actionscript 3,在as3中,如果向对象添加相同的事件侦听器,例如 txtField.addEventlistener( Event.CHANGE, changeCb, false, 0, true ); txtField.addEventlistener( Event.CHANGE, changeCb, false, 0, true ); 我需要删除该侦听器两次吗 如何获取对象上的事件侦听器列表或数量?否,不需要删除两次。您将只创建一个注册。 此外,您正在使用弱引用(通过将最后一个参数usewakrefere
txtField.addEventlistener( Event.CHANGE, changeCb, false, 0, true );
txtField.addEventlistener( Event.CHANGE, changeCb, false, 0, true );
我需要删除该侦听器两次吗
如何获取对象上的事件侦听器列表或数量?否,不需要删除两次。您将只创建一个注册。 此外,您正在使用弱引用(通过将最后一个参数usewakreferences设置为true)。因此,更容易进行推理 文档中有一节描述了为同一侦听器函数创建两个侦听器注册的情况
不,在这种情况下,不需要删除侦听器两次 在两种情况下,需要删除多个侦听器:
hasEventListener(type)
检查它是否具有特定类型事件的事件侦听器
但是,由于提供了源代码,您可以“Monkey patch”UIComponent或FlexSprite类来添加此功能,如中所述。事实上,你甚至不必这么做。示例中提供了代码。很酷。1)是的,2)我认为你不行。我很想知道这是否可能,但我的理解是,确切的数字是“隐藏的”。好吧,我会改正的。我仍然很好奇(我相信你也很好奇)如何确定有多少听众在“倾听”。要想学习一门优秀的事件管理课程,请查阅Danny Miller的: txtField.addEventlistener( Event.CHANGE, changeCb, false, 0, true ); txtField.addEventlistener( Event.CHANGE, changeCb2, false, 0, true ); txtField.addEventlistener( Event.CHANGE, changeCb, false, 0, true ); txtField.addEventlistener( Event.CHANGE, changeCb, true, 0, true );