FLEX程序设计--事件和事件机制--键盘事件
键盘事件:KeyboardEvent
属性 | 定义方 | ||
---|---|---|---|
altKey : Boolean
在 Windows 中,指示 Alt 键是处于活动状态 (true) 还是非活动状态 (false);在 Mac OS 中,指示 Option 键是否处于活动状态。 |
KeyboardEvent | ||
bubbles : Boolean
[只读 (read-only)] 指示事件是否为冒泡事件。 |
Event | ||
cancelable : Boolean
[只读 (read-only)] 指示是否可以阻止与事件相关联的行为。 |
Event | ||
charCode : uint
包含按下或释放的键的字符代码值。 |
KeyboardEvent | ||
commandKey : Boolean
指示 Command 键是处于活动状态 (true) 还是非活动状态 (false)。 |
KeyboardEvent | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 |
Object | ||
controlKey : Boolean
指示 Ctrl 键是处于活动状态 (true) 还是非活动状态 (false)。 |
KeyboardEvent | ||
ctrlKey : Boolean
在 Windows 和 Linux 中,指示 Ctrl 键是处于活动状态 (true) 还是非活动状态 (false);在 Mac OS 中,指示 Ctrl 键或 Command 键是否处于活动状态。 |
KeyboardEvent | ||
currentTarget : Object
[只读 (read-only)] 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
Event | ||
eventPhase : uint
[只读 (read-only)] 事件流中的当前阶段。 |
Event | ||
keyCode : uint
按下或释放的键的键控代码值。 |
KeyboardEvent | ||
keyLocation : uint
指示键在键盘上的位置。 |
KeyboardEvent | ||
prototype : Object
[静态] 对类或函数对象的原型对象的引用。 |
Object | ||
shiftKey : Boolean
指示 Shift 功能键是处于活动状态 (true) 还是非活动状态 (false)。 |
KeyboardEvent | ||
target : Object
[只读 (read-only)] 事件目标。 |
Event | ||
type : String
[只读 (read-only)] 事件的类型。 |
Event |
方法 | 定义方 | ||
---|---|---|---|
KeyboardEvent(type:String, bubbles:Boolean = true, cancelable:Boolean = false, charCodeValue:uint = 0, keyCodeValue:uint = 0, keyLocationValue:uint = 0, ctrlKeyValue:Boolean = false, altKeyValue:Boolean = false, shiftKeyValue:Boolean = false, controlKeyValue:Boolean = false, commandKeyValue:Boolean = false)
创建一个 Event 对象,其中包含有关键盘事件的特定信息。 |
KeyboardEvent | ||
创建 KeyboardEvent 对象的副本,并设置每个属性的值以匹配原始属性值。 |
KeyboardEvent | ||
用于在自定义 ActionScript 3.0 Event 类中实现 toString() 方法的实用程序函数。 |
Event | ||
指示对象是否已经定义了指定的属性。 |
Object | ||
检查是否已对事件调用 preventDefault() 方法。 |
Event | ||
指示 Object 类的实例是否在指定为参数的对象的原型链中。 |
Object | ||
如果可以取消事件的默认行为,则取消该行为。 |
Event | ||
指示指定的属性是否存在、是否可枚举。 |
Object | ||
设置循环操作动态属性的可用性。 |
Object | ||
防止对事件流中当前节点中和所有后续节点中的事件侦听器进行处理。 |
Event | ||
防止对事件流中当前节点的后续节点中的所有事件侦听器进行处理。 |
Event | ||
返回一个字符串,其中包含 KeyboardEvent 对象的所有属性。 |
KeyboardEvent | ||
指示如果已修改显示列表,则应该在此事件处理完成后呈现显示结果 |
KeyboardEvent | ||
返回指定对象的原始值。 |
Object |
常量 | 定义方 | ||
---|---|---|---|
ACTIVATE : String = "activate"
[静态] ACTIVATE 常量定义 activate 事件对象的 type 属性的值。 |
Event | ||
ADDED : String = "added"
[静态] Event.ADDED 常量定义 added 事件对象的 type 属性值。 |
Event | ||
ADDED_TO_STAGE : String = "addedToStage"
[静态] Event.ADDED_TO_STAGE 常量定义 addedToStage 事件对象的 type 属性值。 |
Event | ||
CANCEL : String = "cancel"
[静态] Event.CANCEL 常量定义 cancel 事件对象的 type 属性的值。 |
Event | ||
CHANGE : String = "change"
[静态] Event.CHANGE 常量定义 change 事件对象的 type 属性值。 |
Event | ||
CLEAR : String = "clear"
[静态] Event.CLEAR 常量定义 clear 事件对象的 type 属性的值。 |
Event | ||
CLOSE : String = "close"
[静态] Event.CLOSE 常量定义 close 事件对象的 type 属性的值。 |
Event | ||
CLOSING : String = "closing"
[静态] Event.CLOSING 常量定义 closing 事件对象的 type 属性值。 |
Event | ||
COMPLETE : String = "complete"
[静态] Event.COMPLETE 常量定义 complete 事件对象的 type 属性值。 |
Event | ||
CONNECT : String = "connect"
[静态] Event.CONNECT 常量定义 connect 事件对象的 type 属性值。 |
Event | ||
COPY : String = "copy"
[静态] 定义 copy 事件对象的 type 属性值。 |
Event | ||
CUT : String = "cut"
[静态] 定义 cut 事件对象的 type 属性值。 |
Event | ||
DEACTIVATE : String = "deactivate"
[静态] Event.DEACTIVATE 常量定义 deactivate 事件对象的 type 属性值。 |
Event | ||
DISPLAYING : String = "displaying"
[静态] Event.DISPLAYING 常量定义 displaying 事件对象的 type 属性值。 |
Event | ||
ENTER_FRAME : String = "enterFrame"
[静态] Event.ENTER_FRAME 常量定义 enterFrame 事件对象的 type 属性值。 |
Event | ||
EXIT_FRAME : String = "exitFrame"
[静态] Event.EXIT_FRAME 常量定义 exitFrame 事件对象的 type 属性的值。 |
Event | ||
EXITING : String = "exiting"
[静态] Event.EXITING 常量定义 exiting 事件对象的 type 属性值。 |
Event | ||
FRAME_CONSTRUCTED : String = "frameConstructed"
[静态] Event.FRAME_CONSTRUCTED 常量定义 frameConstructed 事件对象的 type 属性的值。 |
Event | ||
FULLSCREEN : String = "fullScreen"
[静态] Event.FULL_SCREEN 常量定义 fullScreen 事件对象的 type 属性值。 |
Event | ||
HTML_BOUNDS_CHANGE : String = "htmlBoundsChange"
[静态] Event.HTML_BOUNDS_CHANGE 常量定义 htmlBoundsChange 事件对象的 type 属性值。 |
Event | ||
HTML_DOM_INITIALIZE : String = "htmlDOMInitialize"
[静态] Event.HTML_DOM_INITIALIZE 常量定义 htmlDOMInitialize 事件对象的 type 属性值。 |
Event | ||
HTML_RENDER : String = "htmlRender"
[静态] Event.HTML_RENDER 常量定义 htmlRender 事件对象的 type 属性值。 |
Event | ||
ID3 : String = "id3"
[静态] Event.ID3 常量定义 id3 事件对象的 type 属性值。 |
Event | ||
INIT : String = "init"
[静态] Event.INIT 常量定义 init 事件对象的 type 属性值。 |
Event | ||
KEY_DOWN : String = "keyDown"
[静态] 定义 keyDown 事件对象的 type 属性值。 |
KeyboardEvent | ||
KEY_UP : String = "keyUp"
[静态] 定义 keyUp 事件对象的 type 属性值。 |
KeyboardEvent | ||
LOCATION_CHANGE : String = "locationChange"
[静态] Event.LOCATION_CHANGE 常量定义 locationChange 事件对象的 type 属性值。 |
Event | ||
MOUSE_LEAVE : String = "mouseLeave"
[静态] Event.MOUSE_LEAVE 常量定义 mouseLeave 事件对象的 type 属性值。 |
Event | ||
NETWORK_CHANGE : String = "networkChange"
[静态] Event.NETWORK_CHANGE 常量定义 networkChange 事件对象的 type 属性值。 |
Event | ||
OPEN : String = "open"
[静态] Event.OPEN 常量用于定义 open 事件对象的 type 属性值。 |
Event | ||
PASTE : String = "paste"
[静态] Event.PASTE 常量定义 paste 事件对象的 type 属性的值。 |
Event | ||
REMOVED : String = "removed"
[静态] Event.REMOVED 常量定义 removed 事件对象的 type 属性值。 |
Event | ||
REMOVED_FROM_STAGE : String = "removedFromStage"
[静态] Event.REMOVED_FROM_STAGE 常量定义 removedFromStage 事件对象的 type 属性值。 |
Event | ||
RENDER : String = "render"
[静态] Event.RENDER 常量定义 render 事件对象的 type 属性的值。 |
Event | ||
RESIZE : String = "resize"
[静态] Event.RESIZE 常量定义 resize 事件对象的 type 属性的值。 |
Event | ||
SCROLL : String = "scroll"
[静态] Event.SCROLL 常量定义 scroll 事件对象的 type 属性值。 |
Event | ||
SELECT : String = "select"
[静态] Event.SELECT 常量定义 select 事件对象的 type 属性的值。 |
Event | ||
SELECT_ALL : String = "selectAll"
[静态] Event.SELECT_ALL 常量定义 selectAll 事件对象的 type 属性的值。 |
Event | ||
SOUND_COMPLETE : String = "soundComplete"
[静态] Event.SOUND_COMPLETE 常量定义 soundComplete 事件对象的 type 属性值。 |
Event | ||
TAB_CHILDREN_CHANGE : String = "tabChildrenChange"
[静态] Event.TAB_CHILDREN_CHANGE 常量定义 tabChildrenChange 事件对象的 type 属性值。 |
Event | ||
TAB_ENABLED_CHANGE : String = "tabEnabledChange"
[静态] Event.TAB_ENABLED_CHANGE 常量定义 tabEnabledChange 事件对象的 type 属性值。 |
Event | ||
TAB_INDEX_CHANGE : String = "tabIndexChange"
[静态] Event.TAB_INDEX_CHANGE 常量定义 tabIndexChange 事件对象的 type 属性值。 |
Event | ||
UNLOAD : String = "unload"
[静态] Event.UNLOAD 常量定义 unload 事件对象的 type 属性值。 |
Event | ||
USER_IDLE : String = "userIdle"
[静态] Event.USER_IDLE 常量定义 userIdle 事件对象的 type 属性值。 |
Event | ||
USER_PRESENT : String = "userPresent"
[静态] Event.USER_PRESENT 常量定义 userPresent 事件对象的 type 属性值。 |
Event |
altKey | 属性 |
altKey:Boolean
[读写]
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
在 Windows 中,指示 Alt 键是处于活动状态 (true
) 还是非活动状态 (false
);在 Mac OS 中,指示 Option 键是否处于活动状态。
实现
public function get altKey():Boolean
public function set altKey(value:Boolean):void
charCode | 属性 |
charCode:uint
[读写]
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
包含按下或释放的键的字符代码值。字符代码值为英文键盘值。例如,如果您按 Shift+3,则 charCode
在日文键盘上将为 #,就像在英文键盘上一样。
注意:当输入法编辑器 (IME) 正在运行时,charCode
不会报告精确的字符代码。
实现
public function get charCode():uint
public function set charCode(value:uint):void
另请参见
commandKey | 属性 |
commandKey:Boolean
[读写]
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 |
指示 Command 键是处于活动状态 (true
) 还是非活动状态 (false
)。仅 Mac OS 支持。在 Mac OS 中,commandKey
属性具有与 ctrlKey
属性相同的值。
实现
public function get commandKey():Boolean
public function set commandKey(value:Boolean):void
controlKey | 属性 |
controlKey:Boolean
[读写]
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 |
指示 Ctrl 键是处于活动状态 (true
) 还是非活动状态 (false
)。在 Windows 和 Linux 中,Ctrl 键处于活动状态时这也为 true。
实现
public function get controlKey():Boolean
public function set controlKey(value:Boolean):void
ctrlKey | 属性 |
ctrlKey:Boolean
[读写]
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
在 Windows 和 Linux 中,指示 Ctrl 键是处于活动状态 (true
) 还是非活动状态 (false
);在 Mac OS 中,指示 Ctrl 键或 Command 键是否处于活动状态。
实现
public function get ctrlKey():Boolean
public function set ctrlKey(value:Boolean):void
keyCode | 属性 |
keyCode:uint
[读写]
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
按下或释放的键的键控代码值。
注意:当输入法编辑器 (IME) 正在运行时,keyCode
不会报告精确的键控代码。
实现
public function get keyCode():uint
public function set keyCode(value:uint):void
另请参见
keyLocation | 属性 |
keyLocation:uint
[读写]
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
指示键在键盘上的位置。这对于区分在键盘上多次出现的键非常有用。例如,您可以根据此属性的值来区分左 Shift 键和右 Shift 键:左 Shift 键的值为 KeyLocation.LEFT
,右 Shift 键的值为 KeyLocation.RIGHT
。另一个示例是区分标准键盘 (KeyLocation.STANDARD
) 与数字键盘 (KeyLocation.NUM_PAD
) 上按下的数字键。
实现
public function get keyLocation():uint
public function set keyLocation(value:uint):void
shiftKey | 属性 |
shiftKey:Boolean
[读写]
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
指示 Shift 功能键是处于活动状态 (true
) 还是非活动状态 (false
)。
实现
public function get shiftKey():Boolean
public function set shiftKey(value:Boolean):void
KeyboardEvent | () | 构造函数 |
public function KeyboardEvent(type:String, bubbles:Boolean = true, cancelable:Boolean = false, charCodeValue:uint = 0, keyCodeValue:uint = 0, keyLocationValue:uint = 0, ctrlKeyValue:Boolean = false, altKeyValue:Boolean = false, shiftKeyValue:Boolean = false, controlKeyValue:Boolean = false, commandKeyValue:Boolean = false)
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
创建一个 Event 对象,其中包含有关键盘事件的特定信息。将 Event 对象作为参数传递给事件侦听器。
参数type:String — 事件的类型。可能的值为:KeyboardEvent.KEY_DOWN 和 KeyboardEvent.KEY_UP | |
bubbles:Boolean (default = true ) — 确定 Event 对象是否参与事件流的冒泡阶段。 | |
cancelable:Boolean (default = false ) — 确定是否可以取消 Event 对象。 | |
charCodeValue:uint (default = 0 ) — 按下或释放的键的字符代码值。返回的字符代码值为英文键盘值。例如,如果您按 Shift+3,则 getASCIICode() 方法在日文键盘上将返回 #,就像在英文键盘上一样。 | |
keyCodeValue:uint (default = 0 ) — 按下或释放的键的键控代码值。 | |
keyLocationValue:uint (default = 0 ) — 按键在键盘上的位置。 | |
ctrlKeyValue:Boolean (default = false ) — 在 Windows 中,指示是否已激活 Ctrl 键。在 Mac 中,指示是否已激活 Ctrl 键或 Command 键。 | |
altKeyValue:Boolean (default = false ) — 指示是否已激活 Alt 功能键(仅限 Windows)。 | |
shiftKeyValue:Boolean (default = false ) — 指示是否已激活 Shift 功能键。 | |
controlKeyValue:Boolean (default = false ) — 指示在 Mac 中是否已激活 Control 键,以及在 Windows 和 Linux 中是否已激活 Control 或 Ctrl 键。 | |
commandKeyValue:Boolean (default = false ) — 指示是否已激活 Command 键(仅限 Mac)。 |
另请参见
clone | () | 方法 |
override public function clone():Event
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
创建 KeyboardEvent 对象的副本,并设置每个属性的值以匹配原始属性值。
返回
Event — 其属性值与原始属性值匹配的新 KeyboardEvent 对象。 |
toString | () | 方法 |
override public function toString():String
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
返回一个字符串,其中包含 KeyboardEvent 对象的所有属性。字符串的格式如下:
[KeyboardEvent type=value bubbles=value cancelable=value ... shiftKey=value ]
返回
String — 一个字符串,其中包含 KeyboardEvent 对象的所有属性。 |
updateAfterEvent | () | 方法 |
public function updateAfterEvent():void
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
指示如果已修改显示列表,则应该在此事件处理完成后呈现显示结果
KEY_DOWN | 常量 |
public static const KEY_DOWN:String = "keyDown"
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
定义 keyDown
事件对象的 type
属性值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles |
true |
cancelable |
false ;没有要取消的默认行为。 |
charCode |
按下或释放的键的字符代码值。 |
commandKey |
在 Mac 中,如果 Command 键处于活动状态,则为 true 。否则为 false |
controlKey |
在 Windows 和 Linux 中,如果 Ctrl 键处于活动状态,则为 true 。在 Mac 中,如果 Control 键处于活动状态,则为 true 。否则为 false |
ctrlKey |
在 Windows 和 Linux 中,如果 Ctrl 键处于活动状态,则为 true 。在 Mac 中,如果 Ctrl 键或 Command 键处于活动状态,则为 true 。否则为 false 。 |
currentTarget |
当前正在使用某个事件侦听器处理 Event 对象的对象。 |
keyCode |
按下或释放的键的键控代码值。 |
keyLocation |
按键在键盘上的位置。 |
shiftKey |
如果 Shift 键处于活动状态,则为 true ;如果处于非活动状态,则为 false 。 |
target |
具有焦点的 InteractiveObject 实例。target 不一定是显示列表中注册此事件侦听器的对象。请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。 |
另请参见
KEY_UP | 常量 |
public static const KEY_UP:String = "keyUp"
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
定义 keyUp
事件对象的 type
属性值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles |
true |
cancelable |
false ;没有要取消的默认行为。 |
charCode |
包含按下或释放的键的字符代码值。 |
commandKey |
在 Mac 中,如果 Command 键处于活动状态,则为 true 。否则为 false |
controlKey |
在 Windows 和 Linux 中,如果 Ctrl 键处于活动状态,则为 true 。在 Mac 中,如果 Control 键处于活动状态,则为 true 。否则为 false |
ctrlKey |
在 Windows 中,如果 Ctrl 键处于活动状态,则为 true 。在 Mac 中,如果 Ctrl 键或 Command 键处于活动状态,则为 true 。否则为 false 。 |
currentTarget |
当前正在使用某个事件侦听器处理 Event 对象的对象。 |
keyCode |
按下或释放的键的键控代码值。 |
keyLocation |
按键在键盘上的位置。 |
shiftKey |
如果 Shift 键处于活动状态,则为 true ;如果处于非活动状态,则为 false 。 |
target |
具有焦点的 InteractiveObject 实例。target 不一定是显示列表中注册此事件侦听器的对象。请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。 |
另请参见
KeyboardEventExample
类来说明键盘事件及其侦听器函数。该示例执行下列任务:
- 它创建一个新的 Sprite 实例,名称为
child
。 - 它声明了以后在设置正方形的背景颜色和大小时使用的属性。
- 使用 Sprite 的方法,它通过调用
addChild()
方法绘制一个浅蓝色正方形,其显示在舞台上的默认坐标 (0,0) 处。 - 它添加了一个鼠标事件两个键盘类型事件侦听器:
click
/clickHandler
,在单击正方形将焦点设置在child
sprite 上以使它可以侦听键盘事件时进行调度。keyDown
/keyDownHandler
,按下任何键时将调度这两个侦听器。订阅者方法使用trace()
语句输出有关事件的信息。keyUp
/keyUpHandler
,在释放某个键时进行调度。
在测试此示例时,需要首先单击此正方形才能让键盘事件正常工作。
package { import flash.display.Sprite; import flash.display.DisplayObject; import flash.events.*; public class KeyboardEventExample extends Sprite { private var child:Sprite = new Sprite(); private var bgColor:uint = 0x00CCFF; private var size:uint = 80; public function KeyboardEventExample() { child.graphics.beginFill(bgColor); child.graphics.drawRect(0, 0, size, size); child.graphics.endFill(); addChild(child); child.addEventListener(MouseEvent.CLICK, clickHandler); child.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); child.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler); } private function clickHandler(event:MouseEvent):void { stage.focus = child; } private function keyDownHandler(event:KeyboardEvent):void { trace("keyDownHandler: " + event.keyCode); trace("ctrlKey: " + event.ctrlKey); trace("keyLocation: " + event.keyLocation); trace("shiftKey: " + event.shiftKey); trace("altKey: " + event.altKey); } private function keyUpHandler(event:KeyboardEvent):void { trace("keyUpHandler: " + event.keyCode); } } }