【问题标题】:flex tree itemclick event, doesn't workflex 树 itemclick 事件,不起作用
【发布时间】:2010-10-19 12:47:55
【问题描述】:

我正在创建一个可重用的弹性树组件。我想坚持使用 itemclick 功能。这样当用户单击树的一个分支上的任意位置时。分支扩大。 我的问题是我不知道如何让监听器函数触发。 我想做的是完全在 as3 中创建树。 (没有 mxml)。 通常我在 mxml 中的树上设置 itemClick。但我想在 as3 中执行此操作。 我的组件中有更多功能,但我已将其删除,以便更易于阅读。

谁能帮我解决这个问题?我想如果我重写 createChilderen 函数并在其中添加事件监听器,它会起作用。但没有运气。

这是我的代码;

package 
{

    import mx.controls.Tree;
    import mx.controls.listClasses.IListItemRenderer;
    import mx.events.ItemClickEvent;
    import mx.events.ListEvent;

    public class MyTree extends Tree
    {


        public function MyTree()
        {
            super();

        }

        private function tree_itemClick(evt:ListEvent):void {
            var item:Object = Tree(evt.currentTarget).selectedItem;
            if (dataDescriptor.isBranch(item)) {
                expandItem(item, !isItemOpen(item), true);
            }
        }

        override protected function createChildren():void{
            super.createChildren();
            addEventListener(ListEvent.ITEM_CLICK, tree_itemClick, true);
        }

    }
}

【问题讨论】:

    标签: apache-flex actionscript-3 flex3 tree flex4


    【解决方案1】:
    package
    {
    import mx.controls.Tree;
    import mx.events.ListEvent;
    
    public class MyTree extends Tree
    {
        public function MyTree()
        {
            super();
    
            addEventListener(ListEvent.ITEM_CLICK, itemClickHandler);
        }
    
        private function itemClickHandler(event:ListEvent):void
        {
            trace("Success");
        }
    
    }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-11
      • 2017-05-18
      • 1970-01-01
      • 2011-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多