flash builder 4.6扫坑纪实1

1、代码结构:

                           click="bordercontainer1_clickHandler(event)"
                           mouseOver="hgroup1_mouseOverHandler(event)" name="b1"
                           useHandCursor="true">    
            
                                          verticalAlign="middle"/>
                                          verticalAlign="middle"/>
            

        

对于如上的列表结构,页面显示效果:

flash builder 4.6扫坑纪实1_第1张图片

点击事件bordercontainer1_clickHandler触发后,在一行的不同位置点击,竟然是三个不同的结果:

说明给BorderContainer的点击事件,子空间竟然也是有效的!

那么在事件处理函数里面就必须要分开来处理了。

 

下面给出查找文字的栗子:

protected function doCallBack(event:MouseEvent):void{
                var strs:Array = event.target.toString().split(".");
                var name:String=strs[strs.length-1];
                if(name.search("BorderContainerSkin")>-1){
                    var ab:BorderContainerSkin=(event.target as BorderContainerSkin);
                    var abG:Group=(ab.getChildAt(0) as Group);                //不知道怎么回事,多了这么一层    
                    var abH:HGroup=(abG.getChildAt(0) as HGroup);
                    var abL:Label=(abH.getChildAt(1) as Label);
                    Alert.show(abL.text);
                }
                if(name.search("ImageSkin")>-1){
                    var ab1:ImageSkin=(event.target as ImageSkin);
                    var ab1I:Image=(ab1.parent as Image);
                    var ab1H:HGroup=(ab1I.parent as HGroup);
                    var ab1L:Label=(ab1H.getChildAt(1) as Label);
                    Alert.show(ab1L.text);
                }
                if(name.search("Label")>-1){
                    var ab2:Label=(event.target as Label);
                    Alert.show(ab2.text);
                }
                //callBack(action);
            }

 

 

2、mx:tree右键点击节点选中:

//右键点击
            protected function tree1_rightClickHandler(event:MouseEvent):void
            {
                
                if(event.target!=null&&event.target is UITextField && UITextField(event.target).owner!=null){
                    var textField:UITextField=UITextField(event.target)
                    if(rightClickMenu==null){
                        rightClickMenu=new RightClickMenu();    
                    }            
                    rightClickMenu.x=desk.mouseX;
                    rightClickMenu.y=desk.mouseY;
                    rightClickMenu.width=170;
                    rightClickMenu.height=240;
                    rightClickMenu.callBack=this.fileAction;
                    rightClickMenu.treeNodeText=textField.text;
                    this.addElement(rightClickMenu);
                    fileTree.selectedItem=TreeItemRenderer(UITextField(event.target).owner).data;
                }else{
                    fileTree.selectedItem = null;
                }
            }

你可能感兴趣的:(flash builder 4.6扫坑纪实1)