Остановить всплывающее событие во Flash - PullRequest
0 голосов
/ 02 февраля 2011

У меня есть MovieClip, который содержит 4 кнопки:

resolutions

Когда пользователь вытащит мышь из контейнера, он должен исчезнуть:пользователь делает вывод из любой из 4 кнопок, событие всплывает до контейнера.Это не ожидаемое поведение.Как мне остановить это распространение, если ни у одной из 4 кнопок нет обработчиков мыши?

Ответы [ 3 ]

3 голосов
/ 02 февраля 2011

Прослушивание события MouseEvent.ROLL_OUT для контейнера.

2 голосов
/ 02 февраля 2011

У вас есть 2 решения (плюс одно, предложенное TandemAdam):

1 - используйте параметр useCapture

this.resolutions.addEventListener(MouseEvent.MOUSE_OUT, this.resolutionsClose, true);

Вы получите событие при его детализации в списке отображениявместо того, чтобы пузыриться, ваш контейнер будет отправляться раньше своих потомков.

2 - Проверьте в вашем обработчике событий, является ли event.target вашим контейнером:

private function onMouseOut(e:Event):void
{
    if(e.target == this.resolutions){
    // the original dispatcher was your resolutions container.
    }
}
0 голосов
/ 02 февраля 2011

Не делайте ваши пуговицы детьми контейнера.Или на ваших кнопках прослушайте то же событие и вызовите для него stopImmediatePropagation ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...