Adobe® Flex® 4 Language Reference
Hide Packages and Classes List |  Packages  |  Classes  |  Index  |  Appendixes
flashx.textLayout.events 
FlowElementMouseEvent 
Packageflashx.textLayout.events
Classpublic class FlowElementMouseEvent
InheritanceFlowElementMouseEvent Inheritance Event Inheritance Object

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

A LinkElement dispatches this event when it detects mouse activity. The Text Layout Framework includes this special version of mouse events because mouse events are generally unwanted when a link element is embedded in an editable text flow.

You can add an event listener to a LinkElement 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 LinkElement, or your event listener function does not cancel the behavior, the event is again dispatched, but this time by the LinkElement's associated TextFlow instance rather than by the LinkElement 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:

  • MouseEvent.CLICK
  • MouseEvent.MOUSE_DOWN
  • MouseEvent.MOUSE_OUT
  • MouseEvent.MOUSE_UP
  • MouseEvent.ROLL_OVER
  • MouseEvent.ROLL_OUT

View the examples

See also



Public Properties
 PropertyDefined By
 Inheritedbubbles : Boolean
[read-only] Indicates whether an event is a bubbling event.
Event
 Inheritedcancelable : Boolean
[read-only] Indicates whether the behavior associated with the event can be prevented.
Event
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
 InheritedcurrentTarget : Object
[read-only] The object that is actively processing the Event object with an event listener.
Event
 InheritedeventPhase : uint
[read-only] The current phase in the event flow.
Event
  flowElement : FlowElement
The LinkElement that dispatched the event.
FlowElementMouseEvent
  originalEvent : MouseEvent
The original mouse event generated by the mouse activity.
FlowElementMouseEvent
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
 Inheritedtarget : Object
[read-only] The event target.
Event
 Inheritedtype : String
[read-only] The type of event.
Event
Public Methods
 MethodDefined 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
 Inherited
Duplicates an instance of an Event subclass.
Event
 Inherited
formatToString(className:String, ... arguments):String
A utility function for implementing the toString() method in custom ActionScript 3.0 Event classes.
Event
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Checks whether the preventDefault() method has been called on the event.
Event
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Cancels an event's default behavior if that behavior can be canceled.
Event
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Prevents processing of any event listeners in the current node and any subsequent nodes in the event flow.
Event
 Inherited
Prevents processing of any event listeners in nodes subsequent to the current node in the event flow.
Event
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
Returns a string containing all the properties of the Event object.
Event
 Inherited
Returns the primitive value of the specified object.
Object
Public Constants
 ConstantDefined By
 InheritedACTIVATE : String = "activate"
[static] The ACTIVATE constant defines the value of the type property of an activate event object.
Event
 InheritedADDED : String = "added"
[static] The Event.ADDED constant defines the value of the type property of an added event object.
Event
 InheritedADDED_TO_STAGE : String = "addedToStage"
[static] The Event.ADDED_TO_STAGE constant defines the value of the type property of an addedToStage event object.
Event
 InheritedCANCEL : String = "cancel"
[static] The Event.CANCEL constant defines the value of the type property of a cancel event object.
Event
 InheritedCHANGE : String = "change"
[static] The Event.CHANGE constant defines the value of the type property of a change event object.
Event
 InheritedCLEAR : String = "clear"
[static] The Event.CLEAR constant efines the value of the type property of a clear event object.
Event
  CLICK : String = "click"
[static]
FlowElementMouseEvent
 InheritedCLOSE : String = "close"
[static] The Event.CLOSE constant defines the value of the type property of a close event object.
Event
 InheritedAIR-only CLOSING : String = "closing"
[static] The Event.CLOSING constant defines the value of the type property of a closing event object.
Event
 InheritedCOMPLETE : String = "complete"
[static] The Event.COMPLETE constant defines the value of the type property of a complete event object.
Event
 InheritedCONNECT : String = "connect"
[static] The Event.CONNECT constant defines the value of the type property of a connect event object.
Event
 InheritedCOPY : String = "copy"
[static] Defines the value of the type property of a copy event object.
Event
 InheritedCUT : String = "cut"
[static] Defines the value of the type property of a cut event object.
Event
 InheritedDEACTIVATE : String = "deactivate"
[static] The Event.DEACTIVATE constant defines the value of the type property of a deactivate event object.
Event
 InheritedDISPLAYING : String = "displaying"
[static] The Event.DISPLAYING constant defines the value of the type property of a displaying event object.
Event
 InheritedENTER_FRAME : String = "enterFrame"
[static] The Event.ENTER_FRAME constant defines the value of the type property of an enterFrame event object.
Event
 InheritedEXIT_FRAME : String = "exitFrame"
[static] The Event.EXIT_FRAME constant defines the value of the type property of an exitFrame event object.
Event
 InheritedAIR-only EXITING : String = "exiting"
[static] The Event.EXITING constant defines the value of the type property of an exiting event object.
Event
 InheritedFRAME_CONSTRUCTED : String = "frameConstructed"
[static] The Event.FRAME_CONSTRUCTED constant defines the value of the type property of an frameConstructed event object.
Event
 InheritedFULLSCREEN : String = "fullScreen"
[static] The Event.FULL_SCREEN constant defines the value of the type property of a fullScreen event object.
Event
 InheritedAIR-only HTML_BOUNDS_CHANGE : String = "htmlBoundsChange"
[static] The Event.HTML_BOUNDS_CHANGE constant defines the value of the type property of an htmlBoundsChange event object.
Event
 InheritedAIR-only HTML_DOM_INITIALIZE : String = "htmlDOMInitialize"
[static] The Event.HTML_DOM_INITIALIZE constant defines the value of the type property of an htmlDOMInitialize event object.
Event
 InheritedAIR-only HTML_RENDER : String = "htmlRender"
[static] The Event.HTML_RENDER constant defines the value of the type property of an htmlRender event object.
Event
 InheritedID3 : String = "id3"
[static] The Event.ID3 constant defines the value of the type property of an id3 event object.
Event
 InheritedINIT : String = "init"
[static] The Event.INIT constant defines the value of the type property of an init event object.
Event
 InheritedAIR-only LOCATION_CHANGE : String = "locationChange"
[static] The Event.LOCATION_CHANGE constant defines the value of the type property of a locationChange event object.
Event
  MOUSE_DOWN : String = "mouseDown"
[static]
FlowElementMouseEvent
 InheritedMOUSE_LEAVE : String = "mouseLeave"
[static] The Event.MOUSE_LEAVE constant defines the value of the type property of a mouseLeave event object.
Event
  MOUSE_MOVE : String = "mouseMove"
[static]
FlowElementMouseEvent
  MOUSE_UP : String = "mouseUp"
[static]
FlowElementMouseEvent
 InheritedAIR-only NETWORK_CHANGE : String = "networkChange"
[static] The Event.NETWORK_CHANGE constant defines the value of the type property of a networkChange event object.
Event
 InheritedOPEN : String = "open"
[static] The Event.OPEN constant defines the value of the type property of an open event object.
Event
 InheritedPASTE : String = "paste"
[static] The Event.PASTE constant defines the value of the type property of a paste event object.
Event
 InheritedREMOVED : String = "removed"
[static] The Event.REMOVED constant defines the value of the type property of a removed event object.
Event
 InheritedREMOVED_FROM_STAGE : String = "removedFromStage"
[static] The Event.REMOVED_FROM_STAGE constant defines the value of the type property of a removedFromStage event object.
Event
 InheritedRENDER : String = "render"
[static] The Event.RENDER constant defines the value of the type property of a render event object.
Event
 InheritedRESIZE : String = "resize"
[static] The Event.RESIZE constant defines the value of the type property of a resize event object.
Event
  ROLL_OUT : String = "rollOut"
[static]
FlowElementMouseEvent
  ROLL_OVER : String = "rollOver"
[static]
FlowElementMouseEvent
 InheritedSCROLL : String = "scroll"
[static] The Event.SCROLL constant defines the value of the type property of a scroll event object.
Event
 InheritedSELECT : String = "select"
[static] The Event.SELECT constant defines the value of the type property of a select event object.
Event
 InheritedSELECT_ALL : String = "selectAll"
[static] The Event.SELECT_ALL constant defines the value of the type property of a selectAll event object.
Event
 InheritedSOUND_COMPLETE : String = "soundComplete"
[static] The Event.SOUND_COMPLETE constant defines the value of the type property of a soundComplete event object.
Event
 InheritedTAB_CHILDREN_CHANGE : String = "tabChildrenChange"
[static] The Event.TAB_CHILDREN_CHANGE constant defines the value of the type property of a tabChildrenChange event object.
Event
 InheritedTAB_ENABLED_CHANGE : String = "tabEnabledChange"
[static] The Event.TAB_ENABLED_CHANGE constant defines the value of the type property of a tabEnabledChange event object.
Event
 InheritedTAB_INDEX_CHANGE : String = "tabIndexChange"
[static] The Event.TAB_INDEX_CHANGE constant defines the value of the type property of a tabIndexChange event object.
Event
 InheritedUNLOAD : String = "unload"
[static] The Event.UNLOAD constant defines the value of the type property of an unload event object.
Event
 InheritedAIR-only USER_IDLE : String = "userIdle"
[static] The Event.USER_IDLE constant defines the value of the type property of a userIdle event object.
Event
 InheritedAIR-only USER_PRESENT : String = "userPresent"
[static] The Event.USER_PRESENT constant defines the value of the type property of a userPresent event object.
Event
Property Detail

flowElement

property
flowElement:FlowElement

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

The LinkElement that dispatched the event.



Implementation
    public function get flowElement():FlowElement
    public function set flowElement(value:FlowElement):void

See also

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_OUT
  • MouseEvent.MOUSE_UP
  • MouseEvent.MOUSE_OVER
  • MouseEvent.MOUSE_OUT

In most cases the original event matches the event that the LinkElement 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 LinkElement to a related event. If a LinkElement detects a mouseOver event, it dispatches a rollOver event. Likewise, if a LinkElement detects a mouseOut event, it dispatches a rollOut event.



Implementation
    public function get originalEvent():MouseEvent
    public function set originalEvent(value:MouseEvent):void

See also

Constructor Detail

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 LinkElement.

Parameters
type:String — The type of the event. Event listeners can access this information through the inherited type property. There are six types: MouseEvent.CLICK; MouseEvent.MOUSE_DOWN; MouseEvent.MOUSE_OUT; MouseEvent.MOUSE_UP; MouseEvent.ROLL_OVER; and MouseEvent.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 inherited cancelable property. FlowElementMouseEvent objects can be cancelled. You can cancel the default behavior associated with this event by calling the preventDefault() method in your event listener.
 
flowElement:FlowElement (default = null) — The instance of FlowElement, usually a LinkElement, associated with this event. Event listeners can access this information through the flowElement property.
 
originalEvent:MouseEvent (default = null) — The original mouse event that occurred on the flowElement. Event listeners can access this information through the originalEvent property.
Constant Detail

CLICK

Constant
public static const CLICK:String = "click"

MOUSE_DOWN

Constant 
public static const MOUSE_DOWN:String = "mouseDown"

MOUSE_MOVE

Constant 
public static const MOUSE_MOVE:String = "mouseMove"

MOUSE_UP

Constant 
public static const MOUSE_UP:String = "mouseUp"

ROLL_OUT

Constant 
public static const ROLL_OUT:String = "rollOut"

ROLL_OVER

Constant 
public static const ROLL_OVER:String = "rollOver"

FlowElementMouseEvent_example.as

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(MouseEvent.CLICK, linkHandler);
            linkEl.addEventListener(MouseEvent.MOUSE_DOWN, linkHandler);
            linkEl.addEventListener(MouseEvent.MOUSE_MOVE, linkHandler);
            linkEl.addEventListener(MouseEvent.MOUSE_UP, linkHandler);
            linkEl.addEventListener(MouseEvent.ROLL_OVER, linkHandler);
            linkEl.addEventListener(MouseEvent.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();  
        }

    }        
}