| Package | flashx.textLayout.events | 
| Class | public class FlowElementMouseEvent | 
| Inheritance | FlowElementMouseEvent  Event  Object | 
| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 10, AIR 1.5 | 
You can add an event listener to a link element to listen for this
	 type of event. If you choose to cancel the event by calling
	 Event.preventDefault(), the default behavior associated
	 with the event will not occur.
	 
If you choose not to add an event listener to the link element, or your event listener function does not cancel the behavior, the event is again dispatched, but this time by the link element's associated TextFlow instance rather than by the link element itself. This provides a second opportunity to listen for this event with an event listener attached to the TextFlow.
FlowElementMouseEvents are dispatched only when the text cannot be edited or when the control key is pressed concurrently with the mouse activity.
The following six event types are dispatched only when the text cannot be edited or when the control key is pressed:
- 
FlowElementMouseEvent.CLICK
- 
FlowElementMouseEvent.MOUSE_DOWN
- 
FlowElementMouseEvent.MOUSE_UP
- 
FlowElementMouseEvent.MOUSE_MOVE
- 
FlowElementMouseEvent.ROLL_OVER
- 
FlowElementMouseEvent.ROLL_OUT
Related API Elements
| Property | Defined By | ||
|---|---|---|---|
|  | bubbles : Boolean [read-only] 
	Indicates whether an event is a bubbling event. | Event | |
|  | cancelable : Boolean [read-only] 
	Indicates whether the behavior associated with the event can be prevented. | Event | |
|  | constructor : Object 
	 A reference to the class object or constructor function for a given object instance. | Object | |
|  | currentTarget : Object [read-only] 
	The object that is actively processing the Event object with an event listener. | Event | |
|  | eventPhase : uint [read-only] 
	The current phase in the event flow. | Event | |
| flowElement : FlowElement  
		 The FlowElement that dispatched the event. | FlowElementMouseEvent | ||
| originalEvent : MouseEvent  
		 The original mouse event generated by the mouse activity. | FlowElementMouseEvent | ||
|  | target : Object [read-only] 
	The event target. | Event | |
|  | type : String [read-only] 
	The type of event. | Event | |
| Method | Defined By | ||
|---|---|---|---|
| FlowElementMouseEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = true, flowElement:FlowElement = null, originalEvent:MouseEvent = null)  
		 Creates an event object that contains information about mouse activity. | FlowElementMouseEvent | ||
|  | 
	 Duplicates an instance of an Event subclass. | Event | |
|  | 
	 A utility function for implementing the toString() method in custom 
	 ActionScript 3.0 Event classes. | Event | |
|  | 
	 Indicates whether an object has a specified property defined. | Object | |
|  | 
	Checks whether the preventDefault() method has been called on the event. | Event | |
|  | 
	 Indicates whether an instance of the Object class is in the prototype chain of the object specified 
	 as the parameter. | Object | |
|  | 
	Cancels an event's default behavior if that behavior can be canceled. | Event | |
|  | 
	 Indicates whether the specified property exists and is enumerable. | Object | |
|  | 
     Sets the availability of a dynamic property for loop operations. | Object | |
|  | 
	Prevents processing of any event listeners in the current node and any subsequent nodes in 
	the event flow. | Event | |
|  | 
	Prevents processing of any event listeners in nodes subsequent to the current node in the 
	event flow. | Event | |
|  | 
	 Returns the string representation of this object, formatted according to locale-specific conventions. | Object | |
|  | 
	Returns a string containing all the properties of the Event object. | Event | |
|  | 
	 Returns the primitive value of the specified object. | Object | |
| Constant | Defined By | ||
|---|---|---|---|
| CLICK : String = "click" [static] 
		 Defines the value of the type property of a click event object. | FlowElementMouseEvent | ||
| MOUSE_DOWN : String = "mouseDown" [static] 
		 Defines the value of the type property of a mouseDown event object. | FlowElementMouseEvent | ||
| MOUSE_MOVE : String = "mouseMove" [static] 
		 Defines the value of the type property of a mouseMove event object. | FlowElementMouseEvent | ||
| MOUSE_UP : String = "mouseUp" [static] 
		 Defines the value of the type property of a mouseUp event object. | FlowElementMouseEvent | ||
| ROLL_OUT : String = "rollOut" [static] 
		 Defines the value of the type property of a rollOut event object. | FlowElementMouseEvent | ||
| ROLL_OVER : String = "rollOver" [static] 
		 Defines the value of the type property of a rollOver event object. | FlowElementMouseEvent | ||
| flowElement | property | 
flowElement:FlowElement| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 10, AIR 1.5 | 
The FlowElement that dispatched the event.
Implementation
    public function get flowElement():FlowElement    public function set flowElement(value:FlowElement):voidRelated API Elements
| originalEvent | property | 
originalEvent:MouseEvent| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 10, AIR 1.5 | 
The original mouse event generated by the mouse activity. This property can contain any of the following values:
- MouseEvent.CLICK
- MouseEvent.MOUSE_DOWN
- MouseEvent.MOUSE_UP
- MouseEvent.MOUSE_MOVE
- MouseEvent.MOUSE_OVER
- MouseEvent.MOUSE_OUT
		 In most cases the original event matches the event that the
		 link element dispatches. The events match for the click,
		 mouseDown, mouseOut, and mouseOver
		 events. There are two cases, however, in which the original event
		 is converted by the link element to a related event. 
		 If a link element detects a mouseOver event, it dispatches
		 a rollOver event. Likewise, if a link element detects
		 a mouseOut event, it dispatches a rollOut event.
		 Usually, the event target and the mouse coordinates are related to
		 the TextLine instance containing the link element.
		 
Implementation
    public function get originalEvent():MouseEvent    public function set originalEvent(value:MouseEvent):voidRelated API Elements
| FlowElementMouseEvent | () | Constructor | 
public function FlowElementMouseEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = true, flowElement:FlowElement = null, originalEvent:MouseEvent = null)| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 10, AIR 1.5 | 
Creates an event object that contains information about mouse activity. Event objects are passed as parameters to event listeners. Use the constructor if you plan to manually dispatch an event. You do not need to use the constructor to listen for FlowElementMouseEvent objects generated by a FlowElement.
Parameters| type:String—  The type of the event. Event listeners can access this information through the
		 inheritedtypeproperty. There are six types:FlowElementMouseEvent.CLICK;FlowElementMouseEvent.MOUSE_DOWN;FlowElementMouseEvent.MOUSE_MOVE;FlowElementMouseEvent.MOUSE_UP;FlowElementMouseEvent.ROLL_OVER; andFlowElementMouseEvent.ROLL_OUT. | |
| bubbles:Boolean(default =false)— Determines whether the Event object participates in the bubbling phase of the
		 event flow. FlowElementMouseEvent objects do not bubble. | |
| cancelable:Boolean(default =true)— Determines whether the Event object can be canceled. Event listeners can
		 access this information through the inheritedcancelableproperty. FlowElementMouseEvent
		 objects can be cancelled. You can cancel the default behavior associated with this event
		 by calling thepreventDefault()method in your event listener. | |
| flowElement:FlowElement(default =null)— The instance of FlowElement, currently a LinkElement, associated with this
		 event. Event listeners can access this information through theflowElementproperty. | |
| originalEvent:MouseEvent(default =null)— The original mouse event that occurred on the flowElement. Event listeners can 
		 access this information through theoriginalEventproperty. | 
| CLICK | Constant | 
public static const CLICK:String = "click"| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 10, AIR 1.5 | 
		 Defines the value of the type property of a click event object. 
		 
		 
Related API Elements
| MOUSE_DOWN | Constant | 
public static const MOUSE_DOWN:String = "mouseDown"| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 10, AIR 1.5 | 
		 Defines the value of the type property of a mouseDown event object. 
		 
		 
Related API Elements
| MOUSE_MOVE | Constant | 
public static const MOUSE_MOVE:String = "mouseMove"| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 10, AIR 1.5 | 
		 Defines the value of the type property of a mouseMove event object. 
		 
		 
Related API Elements
| MOUSE_UP | Constant | 
public static const MOUSE_UP:String = "mouseUp"| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 10, AIR 1.5 | 
		 Defines the value of the type property of a mouseUp event object. 
		 
		 
Related API Elements
| ROLL_OUT | Constant | 
public static const ROLL_OUT:String = "rollOut"| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 10, AIR 1.5 | 
		 Defines the value of the type property of a rollOut event object. 
		 
		 
Related API Elements
| ROLL_OVER | Constant | 
public static const ROLL_OVER:String = "rollOver"| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 10, AIR 1.5 | 
		 Defines the value of the type property of a rollOver event object. 
		 
		 
Related API Elements
This example shows how to listen for mouse events that may occur on LinkElement instances. The two key steps are to call addEventListener() for each event type and to create an event handler function.
   The call to addEventListener() is made to the LinkElement instance.
   You can use simple strings, such as "click" or "mouseDown",
   but it is safer to use static constants. The example uses the constants from
   the MouseEvent class because there are no static constants in the
   FlowElementMouseEvent class.
   
   This example contains only one event handler function because the
   code is the same for all events. Normally, the code that responds
   to each type of event will differ, in which case a separate event
   handler function for each call to addEventListener()
   may be a better option.
   
package flashx.textLayout.events.examples {
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import flashx.textLayout.container.ContainerController;
    import flashx.textLayout.elements.TextFlow;
    import flashx.textLayout.elements.ParagraphElement;
    import flashx.textLayout.elements.SpanElement;
    import flashx.textLayout.elements.LinkElement;
    import flashx.textLayout.events.FlowElementMouseEvent;
    import flashx.textLayout.formats.TextLayoutFormat;
    public class FlowElementMouseEvent_example extends Sprite
    {
        private var tf:TextFlow;
        
        public function FlowElementMouseEvent_example()
        {
            // define TextFlow
            tf = new TextFlow();
            
            // define link element
            var linkPar:ParagraphElement = new ParagraphElement();
            var linkEl:LinkElement = new LinkElement();
            linkEl.href = "http://www.adobe.com/go/flashplayer";
            linkEl.target = "_blank"; // when link is clicked, open a new browser window
            var span1:SpanElement = new SpanElement(); // for text associated with link
            span1.text = "Get Flash Player";
            linkEl.addChild(span1);
            
            // define paragraph element for name of events dispatched
            var textPar:ParagraphElement = new ParagraphElement();
            var span2:SpanElement = new SpanElement();
            span2.text ="Three most recent events:";
            
            // add span (text) and link elements to the TextFlow
            linkPar.addChild(linkEl);    // add LinkElement to first paragraph
            textPar.addChild(span2);     // add header text to second paragraph
            tf.addChild(linkPar);        // add paragraph with link to text flow 
            tf.addChild(textPar);        // add paragraph for events to text flow
            
            // add event listeners for all six FlowElementMouseEvent types
            linkEl.addEventListener(FlowElementMouseEvent.CLICK, linkHandler);
            linkEl.addEventListener(FlowElementMouseEvent.MOUSE_DOWN, linkHandler);
            linkEl.addEventListener(FlowElementMouseEvent.MOUSE_MOVE, linkHandler);
            linkEl.addEventListener(FlowElementMouseEvent.MOUSE_UP, linkHandler);
            linkEl.addEventListener(FlowElementMouseEvent.ROLL_OVER, linkHandler);
            linkEl.addEventListener(FlowElementMouseEvent.ROLL_OUT, linkHandler);
            
            // create text container for link and event listing text
            var linkContainer:Sprite = new Sprite();
            linkContainer.x = 10;
            linkContainer.y = 10;
            var linkController:ContainerController = new ContainerController(linkContainer,200,80);
            var linkControllerFormat:TextLayoutFormat = new TextLayoutFormat();
            linkControllerFormat.paddingTop = 3;
            linkController.format = linkControllerFormat;
            tf.flowComposer.addController(linkController);
            
            // Add linkContainer to Display List
            addChild(linkContainer);
            
            tf.flowComposer.updateAllControllers();   
        }
        
        // event handler function        
        private function linkHandler(ev:FlowElementMouseEvent):void {
            var par:ParagraphElement = new ParagraphElement();
            var span:SpanElement = new SpanElement();
            span.text = ev.type;
            par.addChild(span);
            tf.replaceChildren(2,2,par);
            if (tf.numChildren > 5) {
                tf.removeChildAt(5);
            }
            tf.flowComposer.updateAllControllers();  
        }
    }        
}
Thu Dec 4 2014, 05:50 PM -08:00