Не получает событие Mouse Out

У меня есть этот код во flex, где я регистрирую прослушиватель событий мыши -

... 
var b:Button = new Button(); 
b.addEventListener(MouseEvent.MOUSE_OUT, buttonOutHandler);
... 
private function buttonOutHandler(evt:MouseEvent):void { 
 ... 
} 

Проблема, с которой я сталкиваюсь, заключается в том, что иногда, когда я перемещаю мышь из объекта отображения, который является кнопкой, я не получаю событие для мыши.

В основном это происходит, когда я быстро перемещаю его из области кнопки. Я делаю что-то не так? Любые предложения о том, как реализовать это, чтобы я не пропустил событие?


person Manoj Awasthi    schedule 29.04.2009    source источник
comment
Вы случайно не перемещаете мышь также быстро из сцены Flash (например, из окна браузера)? Иногда Flash не регистрирует координаты мыши до того, как ваша мышь уже перемещена за пределы сцены Flash, и, следовательно, он также не может получить событие мыши.   -  person Niko Nyman    schedule 02.05.2009


Ответы (1)


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

person kenneth    schedule 29.04.2009
comment
Действительно, вы почти всегда захотите использовать MouseEvent.ROLL_OUT, потому что очень редко вам нужно будет знать, когда мышь выкатывается из любого отдельного экранного объекта, который является дочерним по отношению к тому, который вы слушаете. - person Josh Tynjala; 30.04.2009