У меня есть основное наведение мыши в моем приложении flex, которое изменяет изображение на mouseover и снова меняет его на moutout, используя код mouseOver="functionToChangeImageSource()"
, а другое на mouseout.
Работает нормально, когда вы медленно наводите курсор мыши вверх и вниз, однако, если я быстро перемещаю курсор мыши по нему, он иногда остается на изображении при наведении курсора, и функция mouseout не срабатывает. Могу ли я что-нибудь исправить , или у кого-нибудь есть идеи, почему это происходит?
Кроме того, я пробовал использовать rollOver и rollOut, но у них одна и та же проблема.
Код выглядит следующим образом (я переключил его, чтобы скрыть и показать два изображения при наведении курсора мыши, чтобы убедиться, что это решило проблему, но это не так):
<mx:Image source="images/logout.jpg"
left="0"
top="350"
top.dataViewState="470"
id="logoutimg"
includeIn="dataViewState, dataDayViewState"
rollOver="logoutimg_mouseOverHandler(event)"
click="doLogout()"
/>
<mx:Image source="images/logoutover.jpg"
left="0"
top="350"
top.dataViewState="470"
id="logoutoverimg"
includeIn="dataViewState, dataDayViewState"
rollOut="logoutoverimg_mouseOutHandler(event)"
visible="false"
click="doLogout()" />
А функции следующие:
protected function logoutimg_mouseOverHandler(event:MouseEvent):void
{
logoutimg.visible = false;
logoutoverimg.visible = true;
}
protected function logoutoverimg_mouseOutHandler(event:MouseEvent):void
{
logoutoverimg.visible = false;
logoutimg.visible = true;
}
Я полагаю, что вы правы насчет того, что событие mouseover не завершилось до того, как Mouseout завершилось, но как это исправить?