패키지 | flashx.textLayout.events |
클래스 | public class SelectionEvent |
상속 | SelectionEvent Event Object |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
속성 | 정의 주체 | ||
---|---|---|---|
bubbles : Boolean [읽기 전용]
이벤트가 버블링 이벤트인지 여부를 나타냅니다. | Event | ||
cancelable : Boolean [읽기 전용]
해당 이벤트와 연관된 비헤이비어를 차단할 수 있는지 여부를 나타냅니다. | Event | ||
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
currentTarget : Object [읽기 전용]
이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. | Event | ||
eventPhase : uint [읽기 전용]
이벤트 흐름에서 현재 단계입니다. | Event | ||
selectionState : SelectionState
SelectionEvent와 연관된 선택 범위를 나타내는 SelectionState 유형의 객체입니다. | SelectionEvent | ||
target : Object [읽기 전용]
이벤트 대상입니다. | Event | ||
type : String [읽기 전용]
이벤트 유형입니다. | Event |
메서드 | 정의 주체 | ||
---|---|---|---|
SelectionEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, selectionState:SelectionState = null)
흐름 작업에 대한 정보가 포함된 이벤트 객체를 만듭니다. | SelectionEvent | ||
Event 하위 클래스의 인스턴스를 복제합니다. | Event | ||
사용자 정의 ActionScript 3.0 Event 클래스에서 toString() 메서드를 구현하기 위한 유틸리티 함수입니다. | Event | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
이벤트에서 preventDefault() 메서드가 호출되었는지 여부를 확인합니다. | Event | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
이벤트의 기본 비헤이비어를 취소할 수 있는 경우, 그 비헤이비어를 취소합니다. | Event | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
이벤트 흐름에서 현재 노드 및 그 후속 노드에 있는 모든 이벤트 리스너가 처리되지 않도록 합니다. | Event | ||
이벤트 흐름에서 현재 노드의 후속 노드에 있는 모든 이벤트 리스너가 처리되지 않도록 합니다. | Event | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
Event 객체의 속성이 모두 포함된 문자열을 반환합니다. | Event | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object |
상수 | 정의 주체 | ||
---|---|---|---|
SELECTION_CHANGE : String = "selectionChange" [정적]
SelectionEvent.SELECTION_CHANGE 상수는 Selection 이벤트에 대한 이벤트 객체의 type 속성 값을 정의합니다. | SelectionEvent |
selectionState | 속성 |
selectionState:SelectionState
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
SelectionEvent와 연관된 선택 범위를 나타내는 SelectionState 유형의 객체입니다.
ElementRange 클래스와 함께 이 속성을 사용하면 선택된 텍스트 범위를 나타내는 ElementRange 인스턴스를 만들 수 있습니다. 다음 코드 줄을 사용하면 선택된 텍스트 범위를 나타내는 ElementRange의 인스턴스를 만들 수 있습니다. ev
변수는 이벤트 객체를 나타내며, conditional 연산자는 selectionState
의 null
값을 방지하는 데 사용됩니다.
// Find selected element range var range:ElementRange = ev.selectionState ? ElementRange.createElementRange(ev.selectionState.textFlow, ev.selectionState.absoluteStart, ev.selectionState.absoluteEnd) : null;
구현
public function get selectionState():SelectionState
public function set selectionState(value:SelectionState):void
관련 API 요소
SelectionEvent | () | 생성자 |
public function SelectionEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, selectionState:SelectionState = null)
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
흐름 작업에 대한 정보가 포함된 이벤트 객체를 만듭니다.
매개 변수type:String — 이벤트 유형입니다. 이벤트 리스너는 상속된 type 속성을 통해 이 정보에 액세스할 수 있습니다. SelectionEvent의 유형은 SelectionEvent.SELECTION_CHANGE 뿐입니다.
| |
bubbles:Boolean (default = false ) — 이벤트가 버블링 이벤트인지 여부를 나타냅니다. 이 이벤트는 버블링 이벤트가 아닙니다.
| |
cancelable:Boolean (default = false ) — 해당 이벤트와 연관된 비헤이비어를 차단할 수 있는지 여부를 나타냅니다.
| |
selectionState:SelectionState (default = null ) — 선택한 텍스트 범위를 기술하는 ElementRange 유형의 객체입니다.
|
SELECTION_CHANGE | 상수 |
public static const SELECTION_CHANGE:String = "selectionChange"
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
SelectionEvent.SELECTION_CHANGE 상수는 Selection 이벤트에 대한 이벤트 객체의 type 속성 값을 정의합니다.
이 예에서는 텍스트 흐름 내 텍스트 선택 범위가 변경될 경우 해당 변경을 수신하는 방법을 보여 줍니다. 두 가지 주요 단계는 텍스트 흐름에서 addEventListener()
메서드를 호출하는 단계와 이벤트 핸들러 함수를 만드는 단계로 구성됩니다.
TextFlow 인스턴스에 대해 addEventListener()
가 호출됩니다. "selectionChange"
와 같은 단순한 문자열을 사용할 수도 있지만 정적 상수 SelectionEvent.SELECTION_CHANGE
를 사용하는 것이 더 안전합니다.
이 예에서 이벤트 핸들러 함수의 이름은 selectionHandler()
입니다. selectionHandler()
메서드는 trace()
함수를 사용하여 텍스트 범위의 시작과 끝 부분을 나타내는 trace 문을 생성합니다. 이벤트 객체의 selectedElementRange
속성을 통해 이 정보에 액세스할 수 있습니다.
package flashx.textLayout.events.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.edit.ElementRange; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.elements.ParagraphElement; import flashx.textLayout.elements.SpanElement; import flashx.textLayout.edit.SelectionManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.events.SelectionEvent; public class SelectionEvent_example extends Sprite { private var tf:TextFlow; private var sm:SelectionManager; public function SelectionEvent_example() { //define TextFlow and manager objects tf = new TextFlow(); sm = new SelectionManager(); tf.interactionManager = sm; //define elements to contain text var p:ParagraphElement = new ParagraphElement(); var s:SpanElement = new SpanElement(); s.text ="This is sample text for the SelectionEvent example."; //add the elements to the TextFlow p.addChild(s); // add span as child of paragraph tf.addChild(p); // add paragraph to text flow //compose TextFlow to display tf.flowComposer.addController(new ContainerController(this,600,400)); tf.flowComposer.updateAllControllers(); //add event handler to listen for SelectionEvent tf.addEventListener(SelectionEvent.SELECTION_CHANGE, selectionHandler); } private function selectionHandler(ev:SelectionEvent):void{ trace("Selection event detected."); // Find selected element range var range:ElementRange = ev.selectionState ? ElementRange.createElementRange(ev.selectionState.textFlow, ev.selectionState.absoluteStart, ev.selectionState.absoluteEnd) : null; trace("Starting index of selection range: " + range.absoluteStart); trace("Ending index of selection range: " + range.absoluteEnd); } } }
Tue Jun 12 2018, 03:17 PM Z