2011-08-11 5 views
0

이 HBox 내부의 객체를 클릭 할 때 HBox 스타일을 변경하고 싶습니다. HBox의 click 이벤트에 대한 핸들을 설정 한 다음이 HBox의 콤보 박스에서 항목을 선택하는 것이 매우 어려웠습니다.ComboBox 클릭 이벤트가 컨테이너와 충돌합니다.

콤보 상자를 클릭하면 항목 목록이 내려지고 HBox 스타일이 변경된 다음 콤보 상자가 매우 빨리 드롭됩니다. 콤보 상자에서 항목을 선택할 시간이 없습니다.

여기가 내 코드입니다.이 문제를 방지 할 수있는 방법이 있습니까?

<mx:Repeater id="itemRepeater"> 
    <mx:HBox id="itemHBox" styleName="active" click="onItemClick(event);"> 
     <mx:ComboBox id="cb1" dataProvider="{dp}" close="closeHandler(event);"/> 
     <mx:TextArea id="itemText" /> 
    </mx:HBox> 
</mx:Repeater> 

private function onItemClick(e:MouseEvent):void { 
    for (var k:Number=0; k < total; k++) { 
     itemHBox[k].styleName = "Inactive"; 
    } 
    // Change edit style 
    itemHBox[e.currentTarget.instanceIndices].styleName = "active"; 
} 

답변

1

설정 styleNameComboBox 그것이 드롭 다운 목록의 숨 깁니다 그 이유는,이 아이들은 크기와 레이아웃 작업을 확인의 HBox 무효화하고 힘. 대단히 감사합니다,

private function onItemClick(e:MouseEvent):void { 
    for (var k:Number=0; k < total; k++) { 
     itemHBox[k].setStyle("backgroundColor", 0xFFFFFF); 
    } 
    // Change edit style 
    itemHBox[e.currentTarget.instanceIndices].setStyle("backgroundColor", 0xFF0000); 
} 
+0

moropus :

대신 당신은 정확한 스타일의 값을 사용할 수 있습니다. 나는 네가 말했듯이 지금은 잘 작동한다. – Wei

+0

웨이, 천만에! – moropus

관련 문제