Pacote | flashx.textLayout.events |
Classe | public class FlowElementMouseEvent |
Herança | FlowElementMouseEvent Event Object |
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5 |
Você pode adicionar um ouvinte de eventos em um elemento de link para detectar esse tipo de evento. Se você optar por cancelar o evento chamando Event.preventDefault()
, o comportamento padrão associado ao evento não ocorrerá.
Se você optar por não adicionar um ouvinte de eventos no elemento de link, ou se a função do seu ouvinte de eventos não cancelar o comportamento, o evento será despachado novamente, mas, desta vez, pela instância do TextFlow associada do elemento de link, e não pelo próprio elemento de link. Isso dá uma segunda oportunidade de ouvir este evento com um ouvinte de eventos anexado ao TextFlow.
Os FlowElementMouseEvents são despachados apenas quando não é possível editar o texto ou quando a tecla Control é pressionada junto com a atividade do mouse.
Os seis tipos de eventos a seguir são despachados apenas quando não é possível editar o texto ou quando a tecla Control for pressionada:
-
FlowElementMouseEvent.CLICK
-
FlowElementMouseEvent.MOUSE_DOWN
-
FlowElementMouseEvent.MOUSE_UP
-
FlowElementMouseEvent.MOUSE_MOVE
-
FlowElementMouseEvent.ROLL_OVER
-
FlowElementMouseEvent.ROLL_OUT
Elementos da API relacionados
Propriedade | Definido por | ||
---|---|---|---|
bubbles : Boolean [somente leitura]
Indica se um evento é do tipo bubbling. | Event | ||
cancelable : Boolean [somente leitura]
Indica se o comportamento associado ao evento pode ser impedido. | Event | ||
constructor : Object
Uma referência ao objeto de classe ou à função de construtor de uma determinada ocorrência de objeto. | Object | ||
currentTarget : Object [somente leitura]
O objeto que está processando ativamente o objeto Event com um ouvinte de evento. | Event | ||
eventPhase : uint [somente leitura]
A fase atual no fluxo de eventos. | Event | ||
flowElement : FlowElement
FlowElement que despachou o evento. | FlowElementMouseEvent | ||
originalEvent : MouseEvent
O evento de mouse original gerado pela atividade do mouse. | FlowElementMouseEvent | ||
target : Object [somente leitura]
O destino de evento. | Event | ||
type : String [somente leitura]
O tipo de evento. | Event |
Método | Definido por | ||
---|---|---|---|
FlowElementMouseEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = true, flowElement:FlowElement = null, originalEvent:MouseEvent = null)
Cria um objeto event que contém informações sobre a atividade do mouse. | FlowElementMouseEvent | ||
Duplica uma ocorrência de uma subclasse Event. | Event | ||
Uma função de utilitário para implementar o método toString() em classes ActionScript 3.0 Event personalizadas. | Event | ||
Indica se um objeto tem uma propriedade especificada definida. | Object | ||
Verifica se o método preventDefault() foi chamado no evento. | Event | ||
Indica se uma ocorrência da classe Object está na cadeia de protótipos do objeto especificado como o parâmetro. | Object | ||
Cancela um comportamento padrão de evento se esse comportamento puder ser cancelado. | Event | ||
Indica se a propriedade especificada existe e é enumerável. | Object | ||
Define a disponibilidade de uma propriedade dinâmica para operações de repetição. | Object | ||
Impede o processamento de qualquer ouvinte de evento no nó atual e qualquer nó subsequente no fluxo de eventos. | Event | ||
Impede o processamento de algum ouvinte de evento em nós subsequentes ao nó atual no fluxo de eventos. | Event | ||
Retorna a representação da string deste objeto, formatado segundo as convenções específicas para a localidade. | Object | ||
Retorna uma string que contém todas as propriedades do objeto Event. | Event | ||
Retorna o valor primitivo do objeto especificado. | Object |
Constante | Definido por | ||
---|---|---|---|
CLICK : String = "click" [estático]
Define o valor da propriedade de tipo de um objeto de evento clicar. | FlowElementMouseEvent | ||
MOUSE_DOWN : String = "mouseDown" [estático]
Define o valor da propriedade de tipo de um objeto de evento mouseDown. | FlowElementMouseEvent | ||
MOUSE_MOVE : String = "mouseMove" [estático]
Define o valor da propriedade de tipo de um objeto de evento mouseMove. | FlowElementMouseEvent | ||
MOUSE_UP : String = "mouseUp" [estático]
Define o valor da propriedade de tipo de um objeto de evento mouseUp. | FlowElementMouseEvent | ||
ROLL_OUT : String = "rollOut" [estático]
Define o valor da propriedade de tipo de um objeto de evento rollOut. | FlowElementMouseEvent | ||
ROLL_OVER : String = "rollOver" [estático]
Define o valor da propriedade de tipo de um objeto de evento rollOver. | FlowElementMouseEvent |
flowElement | propriedade |
flowElement:FlowElement
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5 |
FlowElement que despachou o evento.
Implementação
public function get flowElement():FlowElement
public function set flowElement(value:FlowElement):void
Elementos da API relacionados
originalEvent | propriedade |
originalEvent:MouseEvent
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5 |
O evento de mouse original gerado pela atividade do mouse. Esta propriedade pode conter um dos seguintes valores:
evento
MouseEvent.MOUSE_DOWN
MouseEvent.MOUSE_UP
MouseEvent.MOUSE_MOVE
MouseEvent.MOUSE_OVER
MouseEvent.MOUSE_OUT
Na maioria dos casos, o evento original corresponde ao evento despachado pelo elemento de link. Os eventos correspondem aos eventos click
, mouseDown
, mouseOut
e mouseOver
. Entretanto, há dois casos nos quais o evento original é transformado pelo elemento de link em um evento relacionado. Caso um elemento de link detecte um evento mouseOver
, ele despachará um evento rollOver
. Da mesma forma, caso um elemento de link detecte um evento mouseOut
, ele despachará um evento rollOut.
Normalmente, o destino do evento e as coordenadas do mouse estão relacionados ao exemplo TextLine que contém o elemento de link.
Implementação
public function get originalEvent():MouseEvent
public function set originalEvent(value:MouseEvent):void
Elementos da API relacionados
FlowElementMouseEvent | () | Construtor |
public function FlowElementMouseEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = true, flowElement:FlowElement = null, originalEvent:MouseEvent = null)
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5 |
Cria um objeto event que contém informações sobre a atividade do mouse. Objetos Event são transmitidos como parâmetros para ouvintes de eventos. Use o construtor se planejar despachar um evento manualmente. Você não precisa usar o construtor para ouvir os objetos FlowElementMouseEvent gerados por um FlowElement.
Parâmetrostype:String — O tipo de evento. Ouvintes de eventos podem acessar essas informações por meio da propriedade type herdada. Há seis tipos: FlowElementMouseEvent.CLICK ; FlowElementMouseEvent.MOUSE_DOWN ; FlowElementMouseEvent.MOUSE_MOVE ; FlowElementMouseEvent.MOUSE_UP ; FlowElementMouseEvent.ROLL_OVER ; e FlowElementMouseEvent.ROLL_OUT .
| |
bubbles:Boolean (default = false ) — Determina se o objeto Evento participa da fase bubbling do fluxo de eventos. Os objetos FlowElementMouseEvent não realizam bubbling.
| |
cancelable:Boolean (default = true ) — Determina se o objeto Event pode ser cancelado. Ouvintes de eventos podem acessar essas informações por meio da propriedade cancelable herdada. Os objetos FlowElementMouseEvent podem ser cancelados. Você pode cancelar o comportamento padrão associado a este evento, chamando o método preventDefault() no seu ouvinte de eventos.
| |
flowElement:FlowElement (default = null ) — A instância de FlowElement, normalmente um LinkElement, associada a este evento. Ouvintes de eventos podem acessar essas informações por meio da propriedade flowElement .
| |
originalEvent:MouseEvent (default = null ) — O evento de mouse original ocorrido no flowElement. Ouvintes de eventos podem acessar essas informações por meio da propriedade originalEvent .
|
CLICK | Constante |
public static const CLICK:String = "click"
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5 |
Define o valor da propriedade type
de um objeto de evento click
.
Elementos da API relacionados
MOUSE_DOWN | Constante |
public static const MOUSE_DOWN:String = "mouseDown"
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5 |
Define o valor da propriedade type
de um objeto de evento mouseDown
.
Elementos da API relacionados
MOUSE_MOVE | Constante |
public static const MOUSE_MOVE:String = "mouseMove"
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5 |
Define o valor da propriedade type
de um objeto de evento de evento mouseMove
.
Elementos da API relacionados
MOUSE_UP | Constante |
public static const MOUSE_UP:String = "mouseUp"
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5 |
Define o valor da propriedade type
de um objeto de evento select
.
Elementos da API relacionados
ROLL_OUT | Constante |
public static const ROLL_OUT:String = "rollOut"
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5 |
Define o valor da propriedade type
de um objeto de evento rollOut
.
Elementos da API relacionados
ROLL_OVER | Constante |
public static const ROLL_OVER:String = "rollOver"
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5 |
Define o valor da propriedade type
de um objeto de evento rollOver
.
Elementos da API relacionados
Este exemplo mostra como detectar eventos do mouse que possam ocorrer em instâncias de LinkElement. Os dois passos principais são chamar addEventListener() para cada tipo de evento e criar uma função gerenciadora do evento.
A chamada a addEventListener()
é efetuada à instância de LinkElement. Você pode usar strings simples, como "click"
ou "mouseDown"
, mas é mais seguro usar constantes estáticas. O exemplo utiliza as constantes da classe MouseEvent porque não há nenhuma constante estática na classe FlowElementMouseEvent.
Este exemplo contém apenas uma função gerenciadora de eventos porque o código é igual para todos os eventos. Normalmente, o código que reage a cada tipo de evento é diferente; nesse caso, pode ser melhor ter uma função gerenciadora de eventos separada para cada chamada a addEventListener()
.
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 Jun 13 2018, 11:10 AM Z