jed*_*ikb 4 flash actionscript-3
在as3中,如果我向对象添加相同的事件侦听器,则为例
txtField.addEventlistener( Event.CHANGE, changeCb, false, 0, true );
txtField.addEventlistener( Event.CHANGE, changeCb, false, 0, true );
Run Code Online (Sandbox Code Playgroud)
我需要两次删除该监听器吗?
如何获取对象上的列表或事件侦听器数?
不,在这种情况下,您不需要两次删除侦听器.
您需要在两种情况下删除多个侦听器:
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 );
因此,您只需要删除以不同方式注册的事件.
您无法使用Flex中提供的开箱即可获得事件侦听器的计数,但您可以使用hasEventListener(type).来检查它是否具有针对特定类型事件的事件侦听器.
但是,由于提供了源代码,您可以"猴子修补"UIComponent或FlexSprite类来添加此功能,如本博客中所述.实际上,你甚至不必这样做.代码在示例中提供.很酷.
| 归档时间: |
|
| 查看次数: |
2473 次 |
| 最近记录: |