2016-02-13 87 views
0

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

回答

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

利用这一点,如果我跟踪的事件,它是:

  • 变化
  • 变化
  • 点击

不理想,但它似乎是工作。