我在Flex应用程序中创建了类似于ToolTip的东西。当我滚动某个项目渲染器时,我会弹出一个新控件,定位它,并在滚出时将其删除。操作顺序如下:
当我将x和y坐标设置为当前鼠标位置的x + 10,y + 10时,这很好用。我想添加一些重新定位工具提示的东西,如果它将部分地从屏幕上绘制出来的话。我添加了一个步骤,用于计算是否将从屏幕上绘制,并重新定位工具提示,如果它将被切断。
我的解决方案的问题似乎是它现在在无限循环的重绘中运行,因为将工具提示添加到鼠标下方的屏幕会触发项呈示器上的“rollOut”。这会触发删除工具提示,并从1开始重新处理。
所以我猜我的问题是:有没有办法忽略工具提示,所以它不会让鼠标焦点远离现在在它下面的项目渲染器?或者还有其他好的解决方案吗?提前谢谢。
答案 0 :(得分:0)
一种方法是确保绘制的工具尖端也不在鼠标下面。
或者您可以在rollOut之后的工具提示实际消失之前添加一个短暂的延迟。然后,如果触发新工具提示的mouse_over,则可以禁用淡入淡出。
这样,只有当鼠标离开触发工具提示和工具提示的DisplayObject时,工具提示才会淡出。
答案 1 :(得分:0)
在发布此问题之前,可能应该搜索一下。对于其他人来说,我只需要在工具提示上设置mouseEnabled=false
和mouseChildren=false
选项。
答案 2 :(得分:0)
我会检查您的活动的 currentTarget 和目标属性,以了解谁发送了它。