У меня есть Spark CheckBox, и я пытаюсь предотвратить его изменение при нажатии. В большинстве компонентов Flex есть событие CHANGING, и вы можете предотвратить по умолчанию. Я только нашел событие CHANGE, и если я слушаю это событие, а затем установите checkbox.selected =! Checkbox.selected; он просто перенаправляет изменения, и флажок переустанавливается.Как вы не можете изменить CheckBox или ToggleButtonBase?
0
A
ответ
2
Вы можете просто отключить все события мыши для этого флажка, и будет по-прежнему иметь возможность изменить выбор программно с выбранным = верно:
<s:CheckBox id="myCheckbox"
mouseChildren="false"
mouseEnabled="false"/>
0
Я добавил слушателя событий для события щелчка мыши, и это похоже на работу, но есть мерцание, где вы можете видеть, что он был выбран на мгновение.
IEventDispatcher(checkbox).addEventListener(MouseEvent.CLICK, function(e:Event):void {
trace("click");
ToggleButtonBase(target).selected = !ToggleButtonBase(target).selected;
e.stopImmediatePropagation();
e.preventDefault();
});
Используя это, если я отслеживать события, это:
- изменение
- изменение
- нажмите
Не идеально, но это, кажется, работает.