Конфликт событий щелчка ComboBox с его контейнером - PullRequest
0 голосов
/ 11 августа 2011

Я хочу изменить стиль HBox при щелчке любого объекта внутри этого HBox.Я установил дескриптор для события клика HBox, и затем мне было очень трудно выбрать элемент в комбинированном ящике в этом 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 Ответ

1 голос
/ 11 августа 2011

Настройка styleName делает недействительным HBox и заставляет детей проверять их размер и реле, поэтому ComboBox скрывает свой выпадающий список.

Вместо этого вы можете использовать точные значения стиля:

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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...