【发布时间】:2011-07-09 23:55:11
【问题描述】:
我在我的 flex 应用程序中有一个基本的鼠标悬停,它使用代码 mouseOver="functionToChangeImageSource()" 更改图像 onmouseover 并将其更改回 onmouseout,另一个更改为 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 之前没有完成是正确的,但是我该如何解决这个问题?
【问题讨论】:
-
向我们展示您的代码和/或运行示例的链接。您很可能在“鼠标移入”操作完成之前将鼠标移出。
-
用代码查看更新的编辑 - 谢谢。
标签: apache-flex image mouseover