0

簡単な質問です。removeChild()またはremoveEventListener()最初に使用する必要がありますか?

また、オブジェクトを に設定した場合nullでも、そのオブジェクトからイベント リスナーを削除する必要がありますか?

4

2 に答える 2

3

「removeChild の前にイベント リスナーを削除します。」

他の方法でエラーがスローされるかどうかは、リッスンしているイベントと、イベントの発生後にアクセスしようとしているオブジェクトに完全に依存します。

ただし、できるだけ早くイベント リスナーを削除することをお勧めします。

例: ボタンを 1 回クリックする必要があり、クリック後にボタンを無効にしているように見える場合、リスナーを実行し続けるのは意味がありません。


はい、すべてのイベントリスナーを手動で削除する必要があります。ただし、弱いイベント リスナーを使用することもできます。

addEventListener(MouseEvent.CLICK, clicked, false, 0, true);

オブジェクトがnullに設定されている場合、ガベージコレクターがリスナーを削除することを示唆しています。

于 2012-08-03T02:26:32.083 に答える
1

removeChild の前にすべての eventListener を削除するか、eventListener の前に removeChild を削除する必要があります。

これらのタスクは無関係なので、問題ではありません。とは言っても、子を削除することによってトリガーされるイベントがいくつかあるため、に依存している場合はEvent.REMOVED_FROM_STAGE、後でイベントリスナーを削除する必要があります。

オブジェクトを NULL に設定した場合でも、EventListener を削除する必要がありますか?

はい。

于 2012-08-03T02:22:41.177 に答える