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):void
Related 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):void
Related 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.
Parameterstype:String — The type of the event. Event listeners can access this information through the
inherited type property. There are six types:
FlowElementMouseEvent.CLICK ; FlowElementMouseEvent.MOUSE_DOWN ; FlowElementMouseEvent.MOUSE_MOVE ;
FlowElementMouseEvent.MOUSE_UP ; FlowElementMouseEvent.ROLL_OVER ; and FlowElementMouseEvent.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, currently 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.
|
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(); } } }
Wed Nov 21 2018, 06:34 AM -08:00