PDA

Просмотр полной версии : как удалить все Listener-ы ? (например в stage)


andr64
11.01.2007, 16:39
function ff1 (e:Event) {
trace('ff1');
}
function ff2 (e:Event) {
trace('ff2');
}
stage.addEventListener(MouseEvent.CLICK, ff1);
stage.addEventListener(MouseEvent.CLICK, ff2);


хотелось бы иметь что то типа


var allListeners:Array = stage.getAllListeners();
for (var i:uint = 0; i < allListeners.length; i++) {
var tmp:Object = allListeners[i];
stage.removeEventListener(tmp.curEvent, tmp.curHandler);
}


:umnik2:

__i
11.01.2007, 17:18
никак (, чито очень печально, сделай чтонить что будет запоминать кого на что подписали а потом отписывал оптом...

etc
11.01.2007, 17:27
Напиши класс, который будет подписывать всех и вся на что угодно. Типа GlobalDispatcher.addEventListener(stage,eventName,eventHandler)…
А потом метод getAllListenersFrom(stage):Array

И класс EventListener, со свойствами eventDispatcher, eventName, eventHandler, etc…