Tut EaselJS removeChild entfernen Sie auch angebracht eventListeners?
Tut EaselJS ist removeChild
- Methode (Teil Bühne), Griff Bereinigung des eventListeners an das Kind, wie auch? Oder müssen Sie manuell entfernen Sie die Kindes-Ereignis-Listener mithilfe removeEventListener
bevor Sie Sie entfernen das Kind?
Beispiel:
stage = new createjs.Stage(canvas);
circle = new createjs.Shape();
circle.graphics.beginFill("#333").drawCircle(0,0,5);
circle.addEventListener("mousedown",function(event){
console.log("mouse down");
});
stage.addChild(circle);
.
.
.
stage.removeChild(circle);
Du musst angemeldet sein, um einen Kommentar abzugeben.
EventListeners nicht entfernt auf
removeChild()
, wie Sie auch nicht aufaddChild()
- Wenn Sie möchten, schnell zu entfernen Sie alle, der Schnellste Weg wäremyChild.removeAllEventListeners();
Allerdings, wenn ein DisplayObject ist nicht an der Bühne irgendwie, Ereignisse werden nicht ausgelöst von Maus-Interaktionen, da diese nur Blase über die Bühne, und seine' Kinder.
Falls Sie sich sorgen über Speicher-Lecks: Veranstaltungen in EaselJS sitzen direkt auf der DisplayObject, so dass, wenn Sie löschen Sie die Referenz auf das Objekt, das Ereignisse werden(sollten) gesammelt werden, die von der GarbageCollecter als gut, keine Notwendigkeit für das entfernen von Ereignissen getrennt. (bitte jemand korrigieren Sie mich hier, falls ich falsch bin)
removeChild()
sollten, in der Tat, entfernen Sie den Ereignis-Listener durch die garbage-collection?removeAllEventListeners()
- nicht weh, dass viel 😉