他們檢查一個事件偵聽器是否已經存在以刪除它嗎?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