你如何防止CheckBox或ToggleButtonBase改变?

时间:2016-02-13 10:47:29

标签: flex flex4 flex-spark

我有一个Spark CheckBox,我试图阻止它在点击时改变。在大多数Flex组件中都有一个CHANGING事件,您可以防止默认。我只找到了一个CHANGE事件,如果我听那个事件然后设置checkbox.selected =!checkbox.selected;它只是再次发送更改并重新选中复选框。

2 个答案:

答案 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();
}); 

使用它,如果我追踪事件,那就是:

  • 变化
  • 变化
  • 点击

不理想,但似乎有效。