快速提問;我應該先使用removeChild()
還是removeEventListener()
?AS removeEventListener在刪除對象之前或之後
此外,如果我將對象設置爲null
,是否還需要從該對象中刪除事件偵聽器?
快速提問;我應該先使用removeChild()
還是removeEventListener()
?AS removeEventListener在刪除對象之前或之後
此外,如果我將對象設置爲null
,是否還需要從該對象中刪除事件偵聽器?
「在removeChild之前刪除事件偵聽器。」
無論做其他的方式將拋出一個錯誤與否,完全取決於你正在聽&你想在事件觸發後訪問對象的事件。
但它總是一個很好的做法,儘可能快地移除事件偵聽器。
例如:如果您需要點擊一個按鈕一次&您似乎在單擊後禁用按鈕,保持偵聽器運行無效。
addEventListener(MouseEvent.CLICK, clicked, false, 0, true);
這暗示垃圾收集器時,對象設置爲null可刪除監聽器。
我應該在removeChild或removeChild before eventListener之前刪除所有eventListener。
這些任務是無關的,所以沒關係。也就是說,有些事件是由移除孩子觸發的,所以如果您依賴於Event.REMOVED_FROM_STAGE
,那麼您需要刪除事件監聽器AFTER。
如果我設置一個對象爲NULL,我還需要removeEventListener嗎?
是的。
你可能想在第二個例子中提到你指的是'useWeakReference'參數 - 目前缺少上下文:) – Marty 2012-08-03 02:28:40
@MartyWallace謝謝,更新:) – loxxy 2012-08-03 02:29:09
偉大的答案謝謝 – Bruce 2012-08-03 04:05:17