패키지 | flashx.textLayout.events |
클래스 | public class FlowElementMouseEvent |
상속 | FlowElementMouseEvent Event Object |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
링크 요소에 이벤트 리스너를 추가하면 이 유형의 이벤트를 수신할 수 있습니다. Event.preventDefault()
를 호출하여 이벤트를 취소하는 경우 이벤트와 연관된 기본 비헤이비어는 발생하지 않습니다.
링크 요소에 이벤트 리스너를 추가하지 않거나 이벤트 리스너 함수에서 해당 비헤이비어를 취소하지 않는 경우에는 이벤트가 다시 전달은 되지만 이번에는 링크 요소 자체가 아니라 링크 요소와 연관된 TextFlow 인스턴스를 통해 전달됩니다. 따라서 TextFlow에 연결된 이벤트 리스너를 사용하여 이 이벤트를 수신할 수 있게 됩니다.
FlowElementMouseEvents는 텍스트를 편집할 수 없거나 Ctrl 키를 누른 채 마우스를 움직이는 경우에만 전달됩니다.
다음과 같은 6가지 유형의 이벤트는 텍스트를 편집할 수 없거나 Ctrl 키를 누른 경우에만 전달됩니다.
-
FlowElementMouseEvent.CLICK
-
FlowElementMouseEvent.MOUSE_DOWN
-
FlowElementMouseEvent.MOUSE_UP
-
FlowElementMouseEvent.MOUSE_MOVE
-
FlowElementMouseEvent.ROLL_OVER
-
FlowElementMouseEvent.ROLL_OUT
관련 API 요소
속성 | 정의 주체 | ||
---|---|---|---|
bubbles : Boolean [읽기 전용]
이벤트가 버블링 이벤트인지 여부를 나타냅니다. | Event | ||
cancelable : Boolean [읽기 전용]
해당 이벤트와 연관된 비헤이비어를 차단할 수 있는지 여부를 나타냅니다. | Event | ||
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
currentTarget : Object [읽기 전용]
이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. | Event | ||
eventPhase : uint [읽기 전용]
이벤트 흐름에서 현재 단계입니다. | Event | ||
flowElement : FlowElement
이벤트를 전달한 FlowElement입니다. | FlowElementMouseEvent | ||
originalEvent : MouseEvent
마우스 동작으로 생성된 원본 마우스 이벤트입니다. | FlowElementMouseEvent | ||
target : Object [읽기 전용]
이벤트 대상입니다. | Event | ||
type : String [읽기 전용]
이벤트 유형입니다. | Event |
메서드 | 정의 주체 | ||
---|---|---|---|
FlowElementMouseEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = true, flowElement:FlowElement = null, originalEvent:MouseEvent = null)
마우스 동작에 대한 정보가 포함된 이벤트 객체를 만듭니다. | FlowElementMouseEvent | ||
Event 하위 클래스의 인스턴스를 복제합니다. | Event | ||
사용자 정의 ActionScript 3.0 Event 클래스에서 toString() 메서드를 구현하기 위한 유틸리티 함수입니다. | Event | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
이벤트에서 preventDefault() 메서드가 호출되었는지 여부를 확인합니다. | Event | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
이벤트의 기본 비헤이비어를 취소할 수 있는 경우, 그 비헤이비어를 취소합니다. | Event | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
이벤트 흐름에서 현재 노드 및 그 후속 노드에 있는 모든 이벤트 리스너가 처리되지 않도록 합니다. | Event | ||
이벤트 흐름에서 현재 노드의 후속 노드에 있는 모든 이벤트 리스너가 처리되지 않도록 합니다. | Event | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
Event 객체의 속성이 모두 포함된 문자열을 반환합니다. | Event | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object |
상수 | 정의 주체 | ||
---|---|---|---|
CLICK : String = "click" [정적]
click 이벤트 객체의 type 속성 값을 정의합니다. | FlowElementMouseEvent | ||
MOUSE_DOWN : String = "mouseDown" [정적]
mouseDown 이벤트 객체의 type 속성 값을 정의합니다. | FlowElementMouseEvent | ||
MOUSE_MOVE : String = "mouseMove" [정적]
mouseMove 이벤트 객체의 type 속성 값을 정의합니다. | FlowElementMouseEvent | ||
MOUSE_UP : String = "mouseUp" [정적]
mouseUp 이벤트 객체의 type 속성 값을 정의합니다. | FlowElementMouseEvent | ||
ROLL_OUT : String = "rollOut" [정적]
rollOut 이벤트 객체의 type 속성 값을 정의합니다. | FlowElementMouseEvent | ||
ROLL_OVER : String = "rollOver" [정적]
rollOver 이벤트 객체의 type 속성 값을 정의합니다. | FlowElementMouseEvent |
flowElement | 속성 |
flowElement:FlowElement
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
이벤트를 전달한 FlowElement입니다.
구현
public function get flowElement():FlowElement
public function set flowElement(value:FlowElement):void
관련 API 요소
originalEvent | 속성 |
originalEvent:MouseEvent
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
마우스 동작으로 생성된 원본 마우스 이벤트입니다. 이 속성은 다음 값을 가질 수 있습니다.
MouseEvent.CLICK
MouseEvent.MOUSE_DOWN
MouseEvent.MOUSE_UP
MouseEvent.MOUSE_MOVE
MouseEvent.MOUSE_OVER
MouseEvent.MOUSE_OUT
대부분의 경우 원본 이벤트는 링크 요소가 전달한 이벤트와 일치합니다. 이러한 이벤트는 click
, mouseDown
, mouseOut
및 mouseOver
이벤트에 상응합니다. 하지만 링크 요소가 원본 이벤트를 연관된 이벤트로 변환하는 두 가지 경우가 있습니다. 링크 요소가 mouseOver
이벤트를 감지하면 rollOver
이벤트를 전달합니다. 마찬가지로 링크 요소에서 mouseOut
이벤트를 감지하면 rollOut
이벤트를 전달합니다. 일반적으로 이벤트 대상 및 마우스 좌표는 링크 요소가 포함된 TextLine 인스턴스와 관련이 있습니다.
구현
public function get originalEvent():MouseEvent
public function set originalEvent(value:MouseEvent):void
관련 API 요소
FlowElementMouseEvent | () | 생성자 |
public function FlowElementMouseEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = true, flowElement:FlowElement = null, originalEvent:MouseEvent = null)
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
마우스 동작에 대한 정보가 포함된 이벤트 객체를 만듭니다. Event 객체는 매개 변수로 이벤트 리스너에 전달됩니다. 이벤트를 수동으로 전달하려는 경우에는 생성자를 사용합니다. FlowElement에서 생성한 FlowElementMouseEvent 객체를 수신하는 데 생성자를 사용할 필요는 없습니다.
매개 변수type:String — 이벤트 유형입니다. 이벤트 리스너는 상속된 type 속성을 통해 이 정보에 액세스할 수 있습니다. FlowElementMouseEvent.CLICK , FlowElementMouseEvent.MOUSE_DOWN , FlowElementMouseEvent.MOUSE_MOVE , FlowElementMouseEvent.MOUSE_UP , FlowElementMouseEvent.ROLL_OVER 및 FlowElementMouseEvent.ROLL_OUT 과 같은 여섯 가지 유형이 있습니다.
| |
bubbles:Boolean (default = false ) — Event 객체가 이벤트 흐름의 버블링 단계에 참여하는지 여부를 결정합니다. FlowElementMouseEvent 객체는 버블링 단계에 참여하지 못합니다.
| |
cancelable:Boolean (default = true ) — Event 객체를 취소할 수 있는지 여부를 결정합니다. 이벤트 리스너는 상속된 cancelable 속성을 통해 이 정보에 액세스할 수 있습니다. FlowElementMouseEvent 객체는 취소할 수 있습니다. 이벤트 리스너에서 preventDefault() 메서드를 호출하여 이 이벤트와 연관된 기본 비헤이비어를 취소할 수 있습니다.
| |
flowElement:FlowElement (default = null ) — 이 이벤트와 연관된 FlowElement의 인스턴스로서, 현재 LinkElement입니다. 이벤트 리스너는 flowElement 속성을 통해 이 정보에 액세스할 수 있습니다.
| |
originalEvent:MouseEvent (default = null ) — flowElement에서 발생한 원본 마우스 이벤트입니다. 이벤트 리스너는 originalEvent 속성을 통해 이 정보에 액세스할 수 있습니다.
|
CLICK | 상수 |
public static const CLICK:String = "click"
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
click
이벤트 객체의 type
속성 값을 정의합니다.
관련 API 요소
MOUSE_DOWN | 상수 |
public static const MOUSE_DOWN:String = "mouseDown"
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
mouseDown
이벤트 객체의 type
속성 값을 정의합니다.
관련 API 요소
MOUSE_MOVE | 상수 |
public static const MOUSE_MOVE:String = "mouseMove"
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
mouseMove
이벤트 객체의 type
속성 값을 정의합니다.
관련 API 요소
MOUSE_UP | 상수 |
public static const MOUSE_UP:String = "mouseUp"
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
mouseUp
이벤트 객체의 type
속성 값을 정의합니다.
관련 API 요소
ROLL_OUT | 상수 |
public static const ROLL_OUT:String = "rollOut"
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
rollOut
이벤트 객체의 type
속성 값을 정의합니다.
관련 API 요소
ROLL_OVER | 상수 |
public static const ROLL_OVER:String = "rollOver"
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
rollOver
이벤트 객체의 type
속성 값을 정의합니다.
관련 API 요소
이 예에서는 LinkElement 인스턴스에서 발생할 수 있는 마우스 이벤트를 수신하는 방법을 보여 줍니다. 두 가지 주요 단계는 각 이벤트 유형에 대해 addEventListener()를 호출하는 단계와 이벤트 핸들러 함수를 만드는 단계로 구성됩니다.
LinkElement 인스턴스에 대해 addEventListener()
가 호출됩니다. "click"
또는 "mouseDown"
과 같은 단순한 문자열을 사용할 수도 있지만 정적 상수를 사용하는 것이 더 안전합니다. 이 예에서는 MouseEvent 클래스의 상수를 사용합니다. FlowElementMouseEvent 클래스에는 정적 상수가 없기 때문입니다.
이 예의 경우 모든 이벤트 코드가 동일하기 때문에 하나의 이벤트 핸들러 함수만 포함합니다. 일반적으로 각 이벤트 유형에 응답하는 코드는 달라지며, 이때 각 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(); } } }
Tue Jun 12 2018, 03:17 PM Z