如何忽略鼠标事件

时间:2013-01-22 17:53:25

标签: actionscript-3 flash flex flash-builder

我有一个可拖动的组件。但是,如果用户在文本字段上拖动时拖动它,则无法拖动它。如何设置“文本”字段,以便用户可以单击并拖动界面的该部分?

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"  creationComplete="init()" width="210" height="150" styleName="noteStyle" >
<mx:Script>
    <![CDATA[
        public var testId:int;
        public var buttonNumber:int;
        public function init():void{
            this.addEventListener(MouseEvent.MOUSE_DOWN, makeDraggable)
            this.addEventListener(MouseEvent.MOUSE_UP, endDrag)
            this.buttonMode = true;
            this.useHandCursor = true;
        }
        public function saveButtonHandler():void{
            dispatchEvent(new Event  ( "noteClosed"));
        }
        public function cancelButtonHandler():void{
            dispatchEvent(new Event  ( "noteCancelled"));
        }
        public function makeDraggable(e:Event):void{
            //If the target and the current target are the same, then it must be the background, so make it draggable.
            //Stops the text field and buttons from being draggable
            trace("Target= "+e.currentTarget+" "+e.target)
            if(e.currentTarget==e.target){
                this.startDrag();
            }
        }
        public function endDrag(e:Event):void{
            this.stopDrag();
        }
    ]]>
</mx:Script>
    <mx:Text  text="Add a note: Drag to move"   styleName="myriadPro14"   selectable="false"   />
    <mx:Button  id="saveButton" label="Save" x="146" y="120" click="saveButtonHandler()" />
    <mx:Button  id="cancelButton" label="Cancel" x="10" y="120" click="cancelButtonHandler()"  />
    <mx:TextArea id="noteText" width="200" height="80"     horizontalCenter="0" verticalCenter="-12"/>
</mx:Canvas>

1 个答案:

答案 0 :(得分:0)

也为文本字段添加事件监听器。