вам нужно назначить слушателя объекту, который его отправляет.Из вашего кода неясно, что и для чего нужно делать, но, например, в вашем Main:
// class Main
var _newClass:NewClass = new NewClass();
_newClass.addEventListener("my_event"), handler);
, а затем отправить событие в NewClass
//class NewClass
this.dispatchEvent(new Event("my_event"));
прямо сейчас, вы, кажется, запускаете событие нормально, но вы добавляете слушателя не к тому объекту (в данном случае, я думаю, что класс Main, который также не выполняет диспетчеризацию).
Обратите внимание - если вы отправите событие в конструкторе NewClass, вы, вероятно, пропустите это событие, так как вы назначите слушателя после того, как событие было запущено.Так что запустите его в другом месте.
Как отмечают @redconservatory и @Prototypical, в этом сценарии можно использовать пузырьки.Однако есть некоторые ограничения.
Обычно, если параметр use_capture == false
(по умолчанию) в методе eventListener sig, вам действительно нужно нацеливать объект напрямую для получения событий.Чтобы включить фазу пузырьков:
this.addEventListener("my_event", handler, true); //use_capture == true
Родитель дочернего элемента, отправляющего событие, теперь станет подходящей целью события, так как он «пузырится» по иерархии.И в этом случае ответ @ redconservatory правильный.Важным исключением здесь является то, что всплывающее окно доступно только для DisplayObjects .NewClass должен расширить DisplayObject или добавить предка и в список отображения для правильной работы пузырьков.
из liveDocs
Захват и всплытие происходят при перемещении объекта Event от узла к узлу в списке отображения: родительский для захвата и дочерний для родительского дляпузыриться.Этот процесс не имеет ничего общего с иерархией наследования.Только объекты DisplayObject (визуальные объекты, такие как контейнеры и элементы управления) могут иметь фазу захвата и фазу пузырьков в дополнение к фазе нацеливания.
Для полного обсуждения очень важной темы распространения событий -проверить это введение в обработку событий .