2011-08-11 18 views
0

このHBox内のオブジェクトをクリックすると、HBoxのスタイルを変更する必要があります。私はHBoxのclickイベントのハンドルを設定し、このHBoxのコンボボックスでアイテムを選択することは非常に困難でした。コンボボックスのクリックイベントコンテナとの競合

私がコンボボックスをクリックすると、そのアイテムリストがドロップされ、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

モロプスを、どうもありがとうございました。あなたが言ったように私はそれを行います、今はうまくいきます。 – Wei

+0

魏、ようこそ! – moropus

関連する問題