| 套件 | 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
隱藏繼承公用屬性
顯示繼承公用屬性