FLEX程序设计--事件和事件机制--键盘事件

键盘事件:KeyboardEvent

 

公共属性
  属性 定义方
    altKey : Boolean
在 Windows 中,指示 Alt 键是处于活动状态 (true) 还是非活动状态 (false);在 Mac OS 中,指示 Option 键是否处于活动状态。
KeyboardEvent
  Inherited bubbles : Boolean
[只读 (read-only)] 指示事件是否为冒泡事件。
Event
  Inherited cancelable : Boolean
[只读 (read-only)] 指示是否可以阻止与事件相关联的行为。
Event
    charCode : uint
包含按下或释放的键的字符代码值。
KeyboardEvent
    AIR-only commandKey : Boolean
指示 Command 键是处于活动状态 (true) 还是非活动状态 (false)。
KeyboardEvent
  Inherited constructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
    AIR-only controlKey : Boolean
指示 Ctrl 键是处于活动状态 (true) 还是非活动状态 (false)。
KeyboardEvent
    ctrlKey : Boolean
在 Windows 和 Linux 中,指示 Ctrl 键是处于活动状态 (true) 还是非活动状态 (false);在 Mac OS 中,指示 Ctrl 键或 Command 键是否处于活动状态。
KeyboardEvent
  Inherited currentTarget : Object
[只读 (read-only)] 当前正在使用某个事件侦听器处理 Event 对象的对象。
Event
  Inherited eventPhase : uint
[只读 (read-only)] 事件流中的当前阶段。
Event
    keyCode : uint
按下或释放的键的键控代码值。
KeyboardEvent
    keyLocation : uint
指示键在键盘上的位置。
KeyboardEvent
  Inherited prototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
    shiftKey : Boolean
指示 Shift 功能键是处于活动状态 (true) 还是非活动状态 (false)。
KeyboardEvent
  Inherited target : Object
[只读 (read-only)] 事件目标。
Event
  Inherited 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
  Inherited
formatToString(className:String, ... arguments):String
用于在自定义 ActionScript 3.0 Event 类中实现 toString() 方法的实用程序函数。
Event
  Inherited
指示对象是否已经定义了指定的属性。
Object
  Inherited
检查是否已对事件调用 preventDefault() 方法。
Event
  Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
  Inherited
如果可以取消事件的默认行为,则取消该行为。
Event
  Inherited
指示指定的属性是否存在、是否可枚举。
Object
  Inherited
设置循环操作动态属性的可用性。
Object
  Inherited
防止对事件流中当前节点中和所有后续节点中的事件侦听器进行处理。
Event
  Inherited
防止对事件流中当前节点的后续节点中的所有事件侦听器进行处理。
Event
   
返回一个字符串,其中包含 KeyboardEvent 对象的所有属性。
KeyboardEvent
   
指示如果已修改显示列表,则应该在此事件处理完成后呈现显示结果
KeyboardEvent
  Inherited
返回指定对象的原始值。
Object

公共常量
  常量 定义方
  Inherited ACTIVATE : String = "activate"
[静态] ACTIVATE 常量定义 activate 事件对象的 type 属性的值。
Event
  Inherited ADDED : String = "added"
[静态] Event.ADDED 常量定义 added 事件对象的 type 属性值。
Event
  Inherited ADDED_TO_STAGE : String = "addedToStage"
[静态] Event.ADDED_TO_STAGE 常量定义 addedToStage 事件对象的 type 属性值。
Event
  Inherited CANCEL : String = "cancel"
[静态] Event.CANCEL 常量定义 cancel 事件对象的 type 属性的值。
Event
  Inherited CHANGE : String = "change"
[静态] Event.CHANGE 常量定义 change 事件对象的 type 属性值。
Event
  Inherited CLEAR : String = "clear"
[静态] Event.CLEAR 常量定义 clear 事件对象的 type 属性的值。
Event
  Inherited CLOSE : String = "close"
[静态] Event.CLOSE 常量定义 close 事件对象的 type 属性的值。
Event
  Inherited AIR-only CLOSING : String = "closing"
[静态] Event.CLOSING 常量定义 closing 事件对象的 type 属性值。
Event
  Inherited COMPLETE : String = "complete"
[静态] Event.COMPLETE 常量定义 complete 事件对象的 type 属性值。
Event
  Inherited CONNECT : String = "connect"
[静态] Event.CONNECT 常量定义 connect 事件对象的 type 属性值。
Event
  Inherited COPY : String = "copy"
[静态] 定义 copy 事件对象的 type 属性值。
Event
  Inherited CUT : String = "cut"
[静态] 定义 cut 事件对象的 type 属性值。
Event
  Inherited DEACTIVATE : String = "deactivate"
[静态] Event.DEACTIVATE 常量定义 deactivate 事件对象的 type 属性值。
Event
  Inherited DISPLAYING : String = "displaying"
[静态] Event.DISPLAYING 常量定义 displaying 事件对象的 type 属性值。
Event
  Inherited ENTER_FRAME : String = "enterFrame"
[静态] Event.ENTER_FRAME 常量定义 enterFrame 事件对象的 type 属性值。
Event
  Inherited EXIT_FRAME : String = "exitFrame"
[静态] Event.EXIT_FRAME 常量定义 exitFrame 事件对象的 type 属性的值。
Event
  Inherited AIR-only EXITING : String = "exiting"
[静态] Event.EXITING 常量定义 exiting 事件对象的 type 属性值。
Event
  Inherited FRAME_CONSTRUCTED : String = "frameConstructed"
[静态] Event.FRAME_CONSTRUCTED 常量定义 frameConstructed 事件对象的 type 属性的值。
Event
  Inherited FULLSCREEN : String = "fullScreen"
[静态] Event.FULL_SCREEN 常量定义 fullScreen 事件对象的 type 属性值。
Event
  Inherited AIR-only HTML_BOUNDS_CHANGE : String = "htmlBoundsChange"
[静态] Event.HTML_BOUNDS_CHANGE 常量定义 htmlBoundsChange 事件对象的 type 属性值。
Event
  Inherited AIR-only HTML_DOM_INITIALIZE : String = "htmlDOMInitialize"
[静态] Event.HTML_DOM_INITIALIZE 常量定义 htmlDOMInitialize 事件对象的 type 属性值。
Event
  Inherited AIR-only HTML_RENDER : String = "htmlRender"
[静态] Event.HTML_RENDER 常量定义 htmlRender 事件对象的 type 属性值。
Event
  Inherited ID3 : String = "id3"
[静态] Event.ID3 常量定义 id3 事件对象的 type 属性值。
Event
  Inherited INIT : String = "init"
[静态] Event.INIT 常量定义 init 事件对象的 type 属性值。
Event
    KEY_DOWN : String = "keyDown"
[静态] 定义 keyDown 事件对象的 type 属性值。
KeyboardEvent
    KEY_UP : String = "keyUp"
[静态] 定义 keyUp 事件对象的 type 属性值。
KeyboardEvent
  Inherited AIR-only LOCATION_CHANGE : String = "locationChange"
[静态] Event.LOCATION_CHANGE 常量定义 locationChange 事件对象的 type 属性值。
Event
  Inherited MOUSE_LEAVE : String = "mouseLeave"
[静态] Event.MOUSE_LEAVE 常量定义 mouseLeave 事件对象的 type 属性值。
Event
  Inherited AIR-only NETWORK_CHANGE : String = "networkChange"
[静态] Event.NETWORK_CHANGE 常量定义 networkChange 事件对象的 type 属性值。
Event
  Inherited OPEN : String = "open"
[静态] Event.OPEN 常量用于定义 open 事件对象的 type 属性值。
Event
  Inherited PASTE : String = "paste"
[静态] Event.PASTE 常量定义 paste 事件对象的 type 属性的值。
Event
  Inherited REMOVED : String = "removed"
[静态] Event.REMOVED 常量定义 removed 事件对象的 type 属性值。
Event
  Inherited REMOVED_FROM_STAGE : String = "removedFromStage"
[静态] Event.REMOVED_FROM_STAGE 常量定义 removedFromStage 事件对象的 type 属性值。
Event
  Inherited RENDER : String = "render"
[静态] Event.RENDER 常量定义 render 事件对象的 type 属性的值。
Event
  Inherited RESIZE : String = "resize"
[静态] Event.RESIZE 常量定义 resize 事件对象的 type 属性的值。
Event
  Inherited SCROLL : String = "scroll"
[静态] Event.SCROLL 常量定义 scroll 事件对象的 type 属性值。
Event
  Inherited SELECT : String = "select"
[静态] Event.SELECT 常量定义 select 事件对象的 type 属性的值。
Event
  Inherited SELECT_ALL : String = "selectAll"
[静态] Event.SELECT_ALL 常量定义 selectAll 事件对象的 type 属性的值。
Event
  Inherited SOUND_COMPLETE : String = "soundComplete"
[静态] Event.SOUND_COMPLETE 常量定义 soundComplete 事件对象的 type 属性值。
Event
  Inherited TAB_CHILDREN_CHANGE : String = "tabChildrenChange"
[静态] Event.TAB_CHILDREN_CHANGE 常量定义 tabChildrenChange 事件对象的 type 属性值。
Event
  Inherited TAB_ENABLED_CHANGE : String = "tabEnabledChange"
[静态] Event.TAB_ENABLED_CHANGE 常量定义 tabEnabledChange 事件对象的 type 属性值。
Event
  Inherited TAB_INDEX_CHANGE : String = "tabIndexChange"
[静态] Event.TAB_INDEX_CHANGE 常量定义 tabIndexChange 事件对象的 type 属性值。
Event
  Inherited UNLOAD : String = "unload"
[静态] Event.UNLOAD 常量定义 unload 事件对象的 type 属性值。
Event
  Inherited AIR-only USER_IDLE : String = "userIdle"
[静态] Event.USER_IDLE 常量定义 userIdle 事件对象的 type 属性值。
Event
  Inherited AIR-only 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

另请参见

AIR-only 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
AIR-only 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_DOWNKeyboardEvent.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.as

以下示例使用 KeyboardEventExample 类来说明键盘事件及其侦听器函数。该示例执行下列任务:
  1. 它创建一个新的 Sprite 实例,名称为 child
  2. 它声明了以后在设置正方形的背景颜色和大小时使用的属性。
  3. 使用 Sprite 的方法,它通过调用 addChild() 方法绘制一个浅蓝色正方形,其显示在舞台上的默认坐标 (0,0) 处。
  4. 它添加了一个鼠标事件两个键盘类型事件侦听器:
    • 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);
        }
        
        
    }
}

 

posted @ 2009-04-25 02:18  温景良(Jason)  Views(1654)  Comments(0Edit  收藏  举报