他们检查一个事件侦听器是否已经存在以删除它吗?flash as3检查事件侦听器
stage.addEventListener(MouseEvent.CLICK, clickdownfunction);
基本上,我想删除的监听器,但有时它已经被删除,所以我要检查它是否存在,如果是的话,然后将其删除。
这可能吗?
他们检查一个事件侦听器是否已经存在以删除它吗?flash as3检查事件侦听器
stage.addEventListener(MouseEvent.CLICK, clickdownfunction);
基本上,我想删除的监听器,但有时它已经被删除,所以我要检查它是否存在,如果是的话,然后将其删除。
这可能吗?
退房从
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/events/IEventDispatcher.html
的hasEventListener()
功能我真的不知道,虽然你为什么要那样做检查。删除不存在的侦听器不会使Flash丢弃异常或错误,因此检查只是增加了不必要的开销。
你不能检查一个特定的函数是否被注册为一个监听器,你可以通过检查一个类型是否被注册。这可以用这个来完成:
hasEventListener(type:String):Boolean
或者你可以直接打电话removeEventListener
,如果它没有注册,它会忽略呼叫。
希望帮助,
这里有您需要删除的事件侦听器只有当它是活跃的代码:
if(stage.hasEventListener(MouseEvent.CLICK))
stage.removeEventListener(MouseEvent.CLICK, clickdownfunction);
您还可以使用Fingers:
on(stage).click -= clickdownfunction;
我们有时检查spesific事件。那并不酷。 – atilkan 2011-10-25 02:28:45