我有一个Spark CheckBox,我试图阻止它在点击时改变。在大多数Flex组件中都有一个CHANGING事件,您可以防止默认。我只找到了一个CHANGE事件,如果我听那个事件然后设置checkbox.selected =!checkbox.selected;它只是再次发送更改并重新选中复选框。
答案 0 :(得分:2)
您可以为此复选框禁用任何鼠标事件,并且仍然可以使用selected = true以编程方式更改选择:
<s:CheckBox id="myCheckbox"
mouseChildren="false"
mouseEnabled="false"/>
答案 1 :(得分:0)
我已经为鼠标点击事件添加了一个事件监听器,这似乎有效,但是有一个闪烁,你可以看到它被瞬间选中。
IEventDispatcher(checkbox).addEventListener(MouseEvent.CLICK, function(e:Event):void {
trace("click");
ToggleButtonBase(target).selected = !ToggleButtonBase(target).selected;
e.stopImmediatePropagation();
e.preventDefault();
});
使用它,如果我追踪事件,那就是:
不理想,但似乎有效。