2011-03-01 117 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;