回复:spark.components.ButtonBar
在 spark ButtonBar 的mouseOver事件中,如何确定鼠标悬停在几个按钮中的哪一个?当然,目前还没有选定的索引。如果有所不同,我的 ButtonBar 没有在 MXML 中定义,而是在 ActionScript 中实例化,并且 ArrayList 被分配给我的 ButtonBar 实例的 dataProvider 属性。
谢谢您的帮助。
回复:spark.components.ButtonBar
在 spark ButtonBar 的mouseOver事件中,如何确定鼠标悬停在几个按钮中的哪一个?当然,目前还没有选定的索引。如果有所不同,我的 ButtonBar 没有在 MXML 中定义,而是在 ActionScript 中实例化,并且 ArrayList 被分配给我的 ButtonBar 实例的 dataProvider 属性。
谢谢您的帮助。
如果使用 Flex 4,则没有真正简单/内置的方法可以做到这一点,我认为这是一件好事。ElementExistenceEvent.RENDERER_ADD
相反,它们使您可以通过和访问渲染器ElementExistenceEvent.RENDERER_REMOVE
,因此您可以在子级上查找各种事件。试试这个:
<?xml version="1.0" encoding="utf-8"?>
<s:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Script>
<![CDATA[
import mx.core.IVisualElement;
import spark.events.RendererExistenceEvent;
protected function rendererAddHandler(event:RendererExistenceEvent):void
{
var element:IVisualElement = event.renderer;
element.addEventListener(MouseEvent.MOUSE_MOVE, renderer_mouseMoveHandler);
}
protected function rendererRemoveHandler(event:RendererExistenceEvent):void
{
var element:IVisualElement = event.renderer;
element.removeEventListener(MouseEvent.MOUSE_MOVE, renderer_mouseMoveHandler);
}
protected function renderer_mouseMoveHandler(event:MouseEvent):void
{
trace(event.currentTarget.label);
}
]]>
</fx:Script>
<s:ButtonBar id="buttonBar"
rendererAdd="rendererAddHandler(event)"
rendererRemove="rendererRemoveHandler(event)">
<s:dataProvider>
<mx:ArrayList source="[one, two, three, four]"/>
</s:dataProvider>
</s:ButtonBar>
</s:Application>
希望有帮助,兰斯
您可以简单地使用itemRollOver
火花按钮栏的事件。