我有一个ComboBox设置为当它下面的组件悬停时可见,我的问题是,当我将鼠标悬停在ComboBox上时,它会开始闪烁,因为我要离开底层组件。
我的代码是:
<fx:Script>
<![CDATA[
private function videoRollOut():void
{
controls.visible=false;
}
private function videoRollOver():void
{
controls.visible=true;
}
]]>
</fx:Script>
<mx:Canvas width="100%" height="46%">
<mx:VideoDisplay id="localVideoDisplay" top="0" right="0" bottom="0" left="0" height="100%" width="100%" rollOver="videoRollOver()" rollOut="videoRollOut()"/>
<s:VGroup id="controls" bottom="10" right="0" left="0" horizontalAlign="center" visible="false" mouseOver="videoRollOver()" mouseOut="videoRollOut()">
<s:HGroup verticalAlign="middle">
<s:Label color="0xFFFFFF" text="Audio: "/>
<s:ComboBox id="micSelection" change="micChanged(event)"
dataProvider="{micNames}"/>
</s:HGroup>
<s:HGroup verticalAlign="middle">
<s:Label color="0xFFFFFF" text="Video: "/>
<s:ComboBox id="cameraSelection" change="cameraChanged(event)"
dataProvider="{cameraNames}"/>
</s:HGroup>
</s:VGroup>
</mx:Canvas>
我试图将相同的mouseOver和mouseOut函数添加到ComboBox,虽然我现在可以将鼠标悬停在ComboBox上而不会闪烁,但当我试图将鼠标悬停在某些选项上时,它会同时保留ComboBox和VideoDisplay,使ComboBox再次不可见,但保持ComboBox的选项可见。
我试图添加一个mouseEnabled =&#34; false&#34; mouseChildren =&#34;假&#34;到ComboBox,然而ComboBox无法使用。
如果有人有任何建议会很棒!
答案 0 :(得分:1)
您可以在videoRollOut方法中使用类似的内容
controls.visible=controls.getBounds(this).contains(mouseX,mouseY)?true:false;