套件 | 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 常數定義了選取事件之事件物件的 type 屬性值。 | SelectionEvent |
屬性詳細資訊
selectionState | 屬性 |
selectionState:SelectionState
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10, AIR 1.5 |
代表與此 SelectionEvent 相關聯之選取範圍的 SelectionState 類型物件。
您可以使用此屬性與 ElementRange 類別,建立代表文字選取範圍的 ElementRange 實體。您可以使用下列程式碼建立代表文字選取範圍之 ElementRange 類別的實體 (ev
變數代表事件物件,條件式運算子用於防止 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 常數定義了選取事件之事件物件的 type 屬性值。
範例 如何使用本範例
SelectionEvent_example.as
此範例顯示如何偵聽文字流排中文字選取範圍的變更。兩個主要步驟是在文字流排上呼叫 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:47 PM Z