2011-03-01 118 views
6

他们检查一个事件侦听器是否已经存在以删除它吗?flash as3检查事件侦听器

stage.addEventListener(MouseEvent.CLICK, clickdownfunction); 

基本上,我想删除的监听器,但有时它已经被删除,所以我要检查它是否存在,如果是的话,然后将其删除。

这可能吗?

回答

8

你不能检查一个特定的函数是否被注册为一个监听器,你可以通过检查一个类型是否被注册。这可以用这个来完成:

hasEventListener(type:String):Boolean 

或者你可以直接打电话removeEventListener,如果它没有注册,它会忽略呼叫。

希望帮助,

+0

我们有时检查spesific事件。那并不酷。 – atilkan 2011-10-25 02:28:45

3

这里有您需要删除的事件侦听器只有当它是活跃的代码:

if(stage.hasEventListener(MouseEvent.CLICK)) 
    stage.removeEventListener(MouseEvent.CLICK, clickdownfunction); 
1

您还可以使用Fingers

on(stage).click -= clickdownfunction;