包 | 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()
方法,以及创建一个事件处理函数。
对 addEventListener()
的调用应用于 TextFlow 实例。可以使用简单字符串 "selectionChange"
,但是使用静态常量 SelectionEvent.SELECTION_CHANGE
更安全。
此示例中的事件处理函数称为 selectionHandler()
。selectionHandler()
方法使用 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, 11:04 AM Z