我在Flex Application中有一棵树,其中一个项目被选中。
当用户点击另一个项目时,我想进行检查,并可能阻止更改选择。
我尝试捕获click事件并调用stopPropagation,还尝试使用stopPropogation进行itemClick,但两者都不会阻止selectedItem更改。
有什么想法吗?
编辑23 / Mar - 添加源代码。它实际上非常简单:
<mx:Tree id="navTree"
labelField="name"
dragEnabled="false"
itemClick="navTree_itemClickHandler(event)"
itemRenderer="views.components.TopologyCustomTreeItemRenderer"
width="100%" height="100%"/>
事件处理程序:
protected function navTree_itemClickHandler(event:ListEvent = null):void
{
if(navTree.selectedItem != null && event != null)
{
event.preventDefault();
event.stopImmediatePropagation();
}
}
选择第一个项目后,树不应允许更改选择。然而,选择仍在改变。
答案 0 :(得分:1)
我认为您应该将preventDefault()
与stopPropagation
或stopImmediatePropagation()
一起使用,或者两者都使用
答案 1 :(得分:1)
不是<mx:Tree selectable="false">
你想做什么?