2016-02-13 95 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(); 
}); 

利用這一點,如果我跟蹤的事件,它是:

  • 變化
  • 變化
  • 點擊

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