包 | flash.events |
类 | public class FocusEvent |
继承 | FocusEvent Event Object |
语言版本 : | ActionScript 3.0 |
Player 版本 : | Flash Player 9 |
FocusEvent.FOCUS_IN
FocusEvent.FOCUS_OUT
FocusEvent.KEY_FOCUS_CHANGE
FocusEvent.MOUSE_FOCUS_CHANGE
属性 | 定义方 | ||
---|---|---|---|
bubbles : Boolean
[read-only]
指示事件是否为冒泡事件。
| Event | ||
cancelable : Boolean
[read-only]
指示是否可以阻止与事件相关联的行为。
| Event | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。
| Object | ||
currentTarget : Object
[read-only]
当前正在使用某个事件侦听器处理 Event 对象的对象。
| Event | ||
eventPhase : uint
[read-only]
事件流中的当前阶段。
| Event | ||
keyCode : uint
被按下以触发 keyFocusChange 事件的键的键控代码值。
| FocusEvent | ||
prototype : Object
[static]
对类或函数对象的原型对象的引用。
| Object | ||
relatedObject : InteractiveObject
对补充 InteractiveObject 实例的引用,焦点变化会对此实例造成影响。
| FocusEvent | ||
shiftKey : Boolean
指出是否激活了 Shift 功能键,若激活则值为 true。
| FocusEvent | ||
target : Object
[read-only]
事件目标。
| Event | ||
type : String
[read-only]
事件的类型。
| Event |
方法 | 定义方 | ||
---|---|---|---|
FocusEvent(type:String, bubbles:Boolean = true, cancelable:Boolean = false, relatedObject:InteractiveObject = null, shiftKey:Boolean = false, keyCode:uint = 0)
创建一个 Event 对象,其中包含有关焦点事件的特定信息。
| FocusEvent | ||
创建 FocusEvent 对象的副本,并设置每个属性的值以匹配原始属性值。
| FocusEvent | ||
在自定义 Event 类中实现 toString() 方法的实用程序函数。
| Event | ||
指示对象是否已经定义了指定的属性。
| Object | ||
检查是否已对事件调用 preventDefault()。
| Event | ||
指示 Object 类的实例是否在指定为参数的对象的原型链中。
| Object | ||
如果可以取消事件的默认行为,则取消该行为。
| Event | ||
指示指定的属性是否存在、是否可枚举。
| Object | ||
设置循环操作动态属性的可用性。
| Object | ||
防止对事件流中当前节点中和所有后续节点中的事件侦听器进行处理。
| Event | ||
防止对事件流中当前节点的后续节点中的所有事件侦听器进行处理。
| Event | ||
返回一个字符串,其中包含 FocusEvent 对象的所有属性。
| FocusEvent | ||
返回指定对象的原始值。
| Object |
常量 | 定义方 | ||
---|---|---|---|
ACTIVATE : String = "activate" [static]
定义 activate 事件对象的 type 属性值。
| Event | ||
ADDED : String = "added" [static]
定义 added 事件对象的 type 属性值。
| Event | ||
ADDED_TO_STAGE : String = "addedToStage" [static]
定义 addedToStage 事件对象的 type 属性值。
| Event | ||
CANCEL : String = "cancel" [static]
定义 cancel 事件对象的 type 属性值。
| Event | ||
CHANGE : String = "change" [static]
定义 change 事件对象的 type 属性值。
| Event | ||
CLOSE : String = "close" [static]
定义 close 事件对象的 type 属性值。
| Event | ||
COMPLETE : String = "complete" [static]
定义 complete 事件对象的 type 属性值。
| Event | ||
CONNECT : String = "connect" [static]
定义 connect 事件对象的 type 属性值。
| Event | ||
DEACTIVATE : String = "deactivate" [static]
定义 deactivate 事件对象的 type 属性值。
| Event | ||
ENTER_FRAME : String = "enterFrame" [static]
定义 enterFrame 事件对象的 type 属性值。
| Event | ||
FOCUS_IN : String = "focusIn" [static]
定义 focusIn 事件对象的 type 属性值。
| FocusEvent | ||
FOCUS_OUT : String = "focusOut" [static]
定义 focusOut 事件对象的 type 属性值。
| FocusEvent | ||
FULLSCREEN : String = "fullScreen" [static]
定义 fullScreen 事件对象的 type 属性值。
| Event | ||
ID3 : String = "id3" [static]
定义 id3 事件对象的 type 属性值。
| Event | ||
INIT : String = "init" [static]
定义 init 事件对象的 type 属性值。
| Event | ||
KEY_FOCUS_CHANGE : String = "keyFocusChange" [static]
定义 keyFocusChange 事件对象的 type 属性值。
| FocusEvent | ||
MOUSE_FOCUS_CHANGE : String = "mouseFocusChange" [static]
定义 mouseFocusChange 事件对象的 type 属性值。
| FocusEvent | ||
MOUSE_LEAVE : String = "mouseLeave" [static]
定义 mouseLeave 事件对象的 type 属性值。
| Event | ||
OPEN : String = "open" [static]
定义 open 事件对象的 type 属性值。
| Event | ||
REMOVED : String = "removed" [static]
定义 removed 事件对象的 type 属性值。
| Event | ||
REMOVED_FROM_STAGE : String = "removedFromStage" [static]
定义 removedFromStage 事件对象的 type 属性值。
| Event | ||
RENDER : String = "render" [static]
定义 render 事件对象的 type 属性值。
| Event | ||
RESIZE : String = "resize" [static]
定义 resize 事件对象的 type 属性值。
| Event | ||
SCROLL : String = "scroll" [static]
定义 scroll 事件对象的 type 属性值。
| Event | ||
SELECT : String = "select" [static]
定义 select 事件对象的 type 属性值。
| Event | ||
SOUND_COMPLETE : String = "soundComplete" [static]
定义 soundComplete 事件对象的 type 属性值。
| Event | ||
TAB_CHILDREN_CHANGE : String = "tabChildrenChange" [static]
定义 tabChildrenChange 事件对象的 type 属性值。
| Event | ||
TAB_ENABLED_CHANGE : String = "tabEnabledChange" [static]
定义 tabEnabledChange 事件对象的 type 属性值。
| Event | ||
TAB_INDEX_CHANGE : String = "tabIndexChange" [static]
定义 tabIndexChange 事件对象的 type 属性值。
| Event | ||
UNLOAD : String = "unload" [static]
定义 unload 事件对象的 type 属性值。
| Event |
keyCode | 属性 |
keyCode:uint
[read-write]
语言版本 : | ActionScript 3.0 |
Player 版本 : | Flash Player 9 |
被按下以触发 keyFocusChange
事件的键的键控代码值。
public function get keyCode():uint
public function set keyCode(value:uint):void
relatedObject | 属性 |
relatedObject:InteractiveObject
[read-write]
语言版本 : | ActionScript 3.0 |
Player 版本 : | Flash Player 9 |
对补充 InteractiveObject 实例的引用,焦点变化会对此实例造成影响。 例如,发生 focusOut
事件时,relatedObject
表示已获得焦点的 InteractiveObject 实例。
public function get relatedObject():InteractiveObject
public function set relatedObject(value:InteractiveObject):void
shiftKey | 属性 |
shiftKey:Boolean
[read-write]
语言版本 : | ActionScript 3.0 |
Player 版本 : | Flash Player 9 |
指出是否激活了 Shift 功能键,若激活则值为 true
。 否则,值为 false
。 仅当 FocusEvent 的类型为 keyFocusChange
时,才使用此属性。
public function get shiftKey():Boolean
public function set shiftKey(value:Boolean):void
FocusEvent | () | 构造函数 |
public function FocusEvent(type:String, bubbles:Boolean = true, cancelable:Boolean = false, relatedObject:InteractiveObject = null, shiftKey:Boolean = false, keyCode:uint = 0)
语言版本 : | ActionScript 3.0 |
Player 版本 : | Flash Player 9 |
创建一个 Event 对象,其中包含有关焦点事件的特定信息。 将 Event 对象作为参数传递给事件侦听器。
参数type:String — 事件的类型。 可能的值为:FocusEvent.FOCUS_IN 、FocusEvent.FOCUS_OUT 、FocusEvent.KEY_FOCUS_CHANGE 和 FocusEvent.MOUSE_FOCUS_CHANGE 。
|
|
bubbles:Boolean (default = true ) — 确定 Event 对象是否参与事件流的冒泡阶段。
|
|
cancelable:Boolean (default = false ) — 确定是否可以取消 Event 对象。
|
|
relatedObject:InteractiveObject (default = null ) — 指示受焦点更改影响的补充 InteractiveObject 实例。 例如,发生 focusIn 事件时,relatedObject 表示已失去焦点的 InteractiveObject。
|
|
shiftKey:Boolean (default = false ) — 指示是否已激活 Shift 功能键。
|
|
keyCode:uint (default = 0 ) — 指示按下以触发 keyFocusChange 事件的键的代码。
|
另请参见
clone | () | 方法 |
public override function clone():Event
语言版本 : | ActionScript 3.0 |
Player 版本 : | Flash Player 9 |
创建 FocusEvent 对象的副本,并设置每个属性的值以匹配原始属性值。
返回Event — 其属性值与原始属性值匹配的新 FocusEvent 对象。
|
toString | () | 方法 |
public override function toString():String
语言版本 : | ActionScript 3.0 |
Player 版本 : | Flash Player 9 |
返回一个字符串,其中包含 FocusEvent 对象的所有属性。 字符串的格式如下:
[FocusEvent type=value bubbles=value cancelable=value relatedObject=value shiftKey=value]
String — 一个字符串,其中包含 FocusEvent 对象的所有属性。
|
FOCUS_IN | 常量 |
public static const FOCUS_IN:String = "focusIn"
语言版本 : | ActionScript 3.0 |
Player 版本 : | Flash Player 9 |
定义 focusIn
事件对象的 type
属性值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles | true |
cancelable | false ;没有要取消的默认行为。 |
currentTarget | 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
keyCode | 0;仅应用于 keyFocusChange 事件。 |
relatedObject | 受焦点更改影响的补充 InteractiveObject 实例。 |
shiftKey | false ;仅应用于 keyFocusChange 事件。 |
target | 刚刚获得焦点的 InteractiveObject 实例。 target 不一定是显示列表中注册此事件侦听器的对象。 请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。
|
另请参见
FOCUS_OUT | 常量 |
public static const FOCUS_OUT:String = "focusOut"
语言版本 : | ActionScript 3.0 |
Player 版本 : | Flash Player 9 |
定义 focusOut
事件对象的 type
属性值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles | true |
cancelable | false ;没有要取消的默认行为。 |
currentTarget | 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
keyCode | 0;仅应用于 keyFocusChange 事件。 |
relatedObject | 受焦点更改影响的补充 InteractiveObject 实例。 |
shiftKey | false ;仅应用于 keyFocusChange 事件。 |
target | 刚刚失去焦点的 InteractiveObject 实例。 target 不一定是显示列表中注册此事件侦听器的对象。 请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。
|
另请参见
KEY_FOCUS_CHANGE | 常量 |
public static const KEY_FOCUS_CHANGE:String = "keyFocusChange"
语言版本 : | ActionScript 3.0 |
Player 版本 : | Flash Player 9 |
定义 keyFocusChange
事件对象的 type
属性值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles | true |
cancelable | true ;调用 preventDefault() 方法以取消默认行为。 |
currentTarget | 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
keyCode | 被按下以触发 keyFocusChange 事件的键的键控代码值。 |
relatedObject | 受焦点更改影响的补充 InteractiveObject 实例。 |
shiftKey | 如果 Shift 功能键处于激活状态,则为 true ;否则为 false 。 |
target | 当前具有焦点的 InteractiveObject 实例。 target 不一定是显示列表中注册此事件侦听器的对象。 请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。
|
另请参见
MOUSE_FOCUS_CHANGE | 常量 |
public static const MOUSE_FOCUS_CHANGE:String = "mouseFocusChange"
语言版本 : | ActionScript 3.0 |
Player 版本 : | Flash Player 9 |
定义 mouseFocusChange
事件对象的 type
属性值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles | true |
cancelable | true ;调用 preventDefault() 方法以取消默认行为。 |
currentTarget | 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
keyCode | 0;仅应用于 keyFocusChange 事件。 |
relatedObject | 受焦点更改影响的补充 InteractiveObject 实例。 |
shiftKey | false ;仅应用于 keyFocusChange 事件。 |
target | 当前具有焦点的 InteractiveObject 实例。 target 不一定是显示列表中注册此事件侦听器的对象。 请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。
|
另请参见
FocusEventExample
和 CustomSprite
类来说明如何将焦点与在舞台上绘制的项目结合使用,以捕获事件和输出信息。 本示例将执行以下任务:
child
(属于 Sprite 类型)和 childCount
(属于 uint 类型)。for
循环在 (0,0) 处创建五个浅蓝色正方形。 该循环从将 child
分配给新的 CustomSprite 实例开始。 每次创建 CustomSprite 对象时,会执行以下操作:size
属性设置为 50 像素,bgColor
设置为浅蓝色。 buttonMode
和 useHandCursor
属性在构造函数中设置为 true
。click
的事件侦听器以及关联的订阅者 clickHandler()
。 订阅者方法创建类型为 Sprite 的局部变量 target
并为其赋值以确定单击了其中的哪一个框。 然后将舞台的焦点分配给 target
。draw()
方法,它可以通过调用 Graphics 类的 beginFill()
、drawRect()
和 endFill()
方法以及实例属性来创建一个 50 x 50 像素的正方形。configureListeners()
方法,它将实例化三个事件侦听器/订阅者:focusIn
/ focusInHandler()
在单击显示列表对象(框)的 click
事件后进行调度。focusOut
/ focusOutHandler()
在单击另一个框或者焦点离开舞台(例如,通过在 Flash Player 外单击)时进行调度。keyFocusChange
/ keyFocusChangeHandler()
在使用 Tab 键或者向左键或向右键选择显示列表对象时进行调度。 keyFocusChangeHandler()
方法可以捕获向左键和向右键,而调用 preventDefault()
方法可以禁用这两个键。for
循环中,每个正方形都通过 addChild()
添加到显示列表中并显示(所有正方形都在同一个区域中)。refreshLayout()
,以便沿显示屏顶部 (y = 0) 每隔 5 个像素显示一个正方形来分布橙色的正方形。package { import flash.display.Sprite; import flash.display.DisplayObject; import flash.events.FocusEvent; import flash.events.IEventDispatcher; public class FocusEventExample extends Sprite { private var gutter:uint = 5; private var childCount:uint = 5; public function FocusEventExample() { var child:Sprite; for(var i:uint; i < childCount; i++) { child = new CustomSprite(); configureListeners(child); addChild(child); } refreshLayout(); } private function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(FocusEvent.FOCUS_IN, focusInHandler); dispatcher.addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler); dispatcher.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler); dispatcher.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler); } private function refreshLayout():void { var ln:uint = numChildren; var child:DisplayObject = getChildAt(0); var lastChild:DisplayObject = child; for(var i:uint = 1; i < ln; i++) { child = getChildAt(i); child.x = lastChild.x + lastChild.width + gutter; lastChild = child; } } private function focusInHandler(event:FocusEvent):void { var target:CustomSprite = CustomSprite(event.target); trace("focusInHandler: " + target.name); } private function focusOutHandler(event:FocusEvent):void { var target:CustomSprite = CustomSprite(event.target); trace("focusOutHandler: " + target.name); } private function keyFocusChangeHandler(event:FocusEvent):void { if(event.keyCode == 39 || event.keyCode == 37){ event.preventDefault() } var target:CustomSprite = CustomSprite(event.target); trace("keyFocusChangeHandler: " + target.name); } private function mouseFocusChangeHandler(event:FocusEvent):void { var target:CustomSprite = CustomSprite(event.target); trace("mouseFocusChangeHandler: " + target.name); } } } import flash.display.Sprite; import flash.events.MouseEvent; class CustomSprite extends Sprite { private var size:uint = 50; private var bgColor:uint = 0x00CCFF; public function CustomSprite() { buttonMode = true; useHandCursor = true; addEventListener(MouseEvent.CLICK, clickHandler); draw(size, size); } private function draw(w:uint, h:uint):void { graphics.beginFill(bgColor); graphics.drawRect(0, 0, w, h); graphics.endFill(); } private function clickHandler(event:MouseEvent):void { var target:Sprite = Sprite(event.target); trace("clickHandler: " + target.name); stage.focus = target; } }
当前页: http://livedocs.adobe.com/flash/9.0_cn/ActionScriptLangRefV3/flash/events/FocusEvent.html