包 | flashx.textLayout.events |
类 | public class DamageEvent |
继承 | DamageEvent Event Object |
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
相关 API 元素
公共属性
属性 | 由以下参数定义 | ||
---|---|---|---|
bubbles : Boolean [只读]
表示事件是否为冒泡事件。 | Event | ||
cancelable : Boolean [只读]
表示是否可以阻止与事件相关联的行为。 | Event | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
currentTarget : Object [只读]
当前正在使用某个事件侦听器处理 Event 对象的对象。 | Event | ||
damageAbsoluteStart : int [只读]
受损部分的绝对起始位置
| DamageEvent | ||
damageLength : int [只读]
受损部分的长度
| DamageEvent | ||
eventPhase : uint [只读]
事件流中的当前阶段。 | Event | ||
target : Object [只读]
事件目标。 | Event | ||
textFlow : flashx.textLayout.elements:TextFlow [只读]
拥有受损部分的 TextFlow
| DamageEvent | ||
type : String [只读]
事件的类型。 | Event |
公共方法
方法 | 由以下参数定义 | ||
---|---|---|---|
DamageEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, textFlow:flashx.textLayout.elements:TextFlow = null, damageAbsoluteStart:int = 0, damageLength:int = 0) 构造函数
| DamageEvent | ||
复制 Event 子类的实例。 | Event | ||
用于在自定义 ActionScript 3.0 Event 类中实现 toString() 方法的实用程序函数。 | Event | ||
表示对象是否已经定义了指定的属性。 | Object | ||
检查是否已对事件调用 preventDefault() 方法。 | Event | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
如果可以取消事件的默认行为,则取消该行为。 | Event | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
设置循环操作动态属性的可用性。 | Object | ||
防止对事件流中当前节点中和所有后续节点中的事件侦听器进行处理。 | Event | ||
防止对事件流中当前节点的后续节点中的所有事件侦听器进行处理。 | Event | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回一个字符串,其中包含 Event 对象的所有属性。 | Event | ||
返回指定对象的原始值。 | Object |
属性详细信息
damageAbsoluteStart | 属性 |
damageLength | 属性 |
textFlow | 属性 |
textFlow:flashx.textLayout.elements:TextFlow
[只读] 语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
拥有受损部分的 TextFlow
实现
public function get textFlow():flashx.textLayout.elements:TextFlow
构造函数详细信息
DamageEvent | () | 构造函数 |
public function DamageEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, textFlow:flashx.textLayout.elements:TextFlow = null, damageAbsoluteStart:int = 0, damageLength:int = 0)
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
构造函数
参数type:String — 受损部分的起始文本索引
| |
bubbles:Boolean (default = false ) — 受损文本的长度
| |
cancelable:Boolean (default = false )
| |
textFlow:flashx.textLayout.elements:TextFlow (default = null )
| |
damageAbsoluteStart:int (default = 0 )
| |
damageLength:int (default = 0 )
|
常量详细信息
DAMAGE | 常量 |
public static const DAMAGE:String = "damage"
DamageEvent 的事件类型
示例 如何使用本示例
DamageEvent_example.as
此示例说明如何使用 DamageEvent 来跟踪对 TextFlow 的更改以及使用 UpdateCompleteEvent 来保持绑定被更新。在这种情况下,存在一个在 TextFlow 中包含文本副本的 String,且该 String 在 TextFlow 更改时需要更新。两个关键的步骤是调用 addEventListener(),以及创建一个事件处理函数。
对 addEventListener()
的调用应用于 TextFlow 实例。可以使用简单的字符串(如“damage”
和“updateComplete”
),但使用静态常量(如 DamageEvent.DAMAGE
和 UpdateCompleteEvent.UPDATE_COMPLETE
)更加安全。
package flashx.textLayout.events.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.ConversionType; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.events.DamageEvent; import flashx.textLayout.events.UpdateCompleteEvent; public class DamageEvent_example extends Sprite { private var textFlow:TextFlow; private var text:String = "Text example"; // In this example, the DamageEvent is used to mark when the text in the TextFlow has been changed, // so that a simple binding can be implemented that is optimized so that the binding is only updated // when the text is updated. public function DamageEvent_example() { textFlow = TextConverter.importToFlow(text, TextConverter.PLAIN_TEXT_FORMAT); textFlow.flowComposer.addController(new ContainerController(this, 200, 200)); textFlow.interactionManager = new EditManager(); textFlow.flowComposer.updateAllControllers(); textFlow.addEventListener(DamageEvent.DAMAGE, damageHandler); textFlow.addEventListener(UpdateCompleteEvent.UPDATE_COMPLETE, updateHandler); // ... user clicks on the TextFlow and starts typing ... } private function updateHandler(event:UpdateCompleteEvent):void { if (text == null) text = TextConverter.export(textFlow, TextConverter.PLAIN_TEXT_FORMAT, ConversionType.STRING_TYPE) as String; trace(text); // result: same as what's in the TextFlow } private function damageHandler(event:DamageEvent):void { text = null; } } }
Tue Jun 12 2018, 11:04 AM Z