Пакет | flash.events |
Класс | public class FocusEvent |
Наследование | FocusEvent Event Object |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
-
FocusEvent.FOCUS_IN
-
FocusEvent.FOCUS_OUT
-
FocusEvent.KEY_FOCUS_CHANGE
-
FocusEvent.MOUSE_FOCUS_CHANGE
Свойство | Определено | ||
---|---|---|---|
bubbles : Boolean [только для чтения]
Определяет, является ли событие событием восходящей цепочки. | Event | ||
cancelable : Boolean [только для чтения]
Указывает, можно ли предотвратить поведение, связанное с событием. | Event | ||
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
currentTarget : Object [только для чтения]
Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. | Event | ||
direction : String
Указывает направление фокуса для события focusIn. | FocusEvent | ||
eventPhase : uint [только для чтения]
Текущая фаза в потоке событий. | Event | ||
isRelatedObjectInaccessible : Boolean
Если принимает значение true, свойство relatedObject принимает значение null по причинам, связанным с изолированными средами безопасности. | FocusEvent | ||
keyCode : uint
Значение кода клавиши, нажатой для запуска события keyFocusChange. | FocusEvent | ||
relatedObject : InteractiveObject
Ссылка на дополняющий экземпляр InteractiveObject, на который влияет смена фокуса. | FocusEvent | ||
shiftKey : Boolean
Определяет, активирован ли модификатор клавиши Shift. Если да, то параметр имеет значение true. | FocusEvent | ||
target : Object [только для чтения]
Целевой объект события. | Event | ||
type : String [только для чтения]
Тип события. | Event |
Метод | Определено | ||
---|---|---|---|
FocusEvent(type:String, bubbles:Boolean = true, cancelable:Boolean = false, relatedObject:InteractiveObject = null, shiftKey:Boolean = false, keyCode:uint = 0, direction:String = "none")
Создает объект Event со специфической информацией, имеющей отношение к событиям фокуса. | FocusEvent | ||
[переопределить]
Создает копию объекта FocusEvent и задает значение каждого свойства, совпадающее с оригиналом. | FocusEvent | ||
Служебная функция для реализации метода toString() в пользовательских классах ActionScript 3.0 Event. | Event | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Проверяет, выполнялся ли для события вызова метода preventDefault(). | Event | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Отменяет поведение по умолчанию для события, если такое поведение можно отменить. | Event | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Отменяет обработку прослушивателей событий в текущем узле, а также во всех узлах, которые следуют в потоке событий за текущим узлом. | Event | ||
Отменяет обработку прослушивателей событий в узлах, которые следуют в потоке событий за текущим узлом. | Event | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
[переопределить]
Возвращает строку, содержащую все свойства объекта FocusEvent. | FocusEvent | ||
Возвращает элементарное значение заданного объекта. | Object |
Константа | Определено | ||
---|---|---|---|
FOCUS_IN : String = "focusIn" [статические]
Задает значение свойства type для объекта события focusIn. | FocusEvent | ||
FOCUS_OUT : String = "focusOut" [статические]
Задает значение свойства type для объекта события focusOut. | FocusEvent | ||
KEY_FOCUS_CHANGE : String = "keyFocusChange" [статические]
Задает значение свойства type для объекта события keyFocusChange. | FocusEvent | ||
MOUSE_FOCUS_CHANGE : String = "mouseFocusChange" [статические]
Задает значение свойства type для объекта события mouseFocusChange. | FocusEvent |
direction | свойство |
isRelatedObjectInaccessible | свойство |
isRelatedObjectInaccessible:Boolean
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 10, Flash Lite 4 |
Если принимает значение true
, свойство relatedObject
принимает значение null
по причинам, связанным с изолированными средами безопасности. Если номинальным значением свойства relatedObject
является ссылка на объект DisplayObject в другой изолированной среде, свойство relatedObject
принимает значение null
, пока не будут заданы двусторонние права в границах данной изолированной среды. Права задаются путем вызова метода Security.allowDomain()
из SWF-файла или указания файла политик на сервере файла изображений и задания свойства LoaderContext.checkPolicyFile
при загрузке изображения.
Реализация
public function get isRelatedObjectInaccessible():Boolean
public function set isRelatedObjectInaccessible(value:Boolean):void
Связанные элементы API
keyCode | свойство |
relatedObject | свойство |
relatedObject:InteractiveObject
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Ссылка на дополняющий экземпляр InteractiveObject, на который влияет смена фокуса. Например, когда происходит событие focusOut
, relatedObject
представляет InteractiveObject, получивший фокус.
Это свойство может принимать значение null
по двум причинам: связанный объект отсутствует или связанный объект существует, но находится в изолированной программной среде безопасности, доступ к которой запрещен. Используйте свойство isRelatedObjectInaccessible()
для определения причины.
Реализация
public function get relatedObject():InteractiveObject
public function set relatedObject(value:InteractiveObject):void
Связанные элементы API
shiftKey | свойство |
shiftKey:Boolean
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Определяет, активирован ли модификатор клавиши 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, direction:String = "none")
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Создает объект 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 .
| |
direction:String (default = "none ") — Указывает направление активации целевого интерактивного объекта. Имеет значение FocusDirection.NONE (по умолчанию) для всех событий, кроме focusIn .
|
Связанные элементы API
clone | () | метод |
override public function clone():Event
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Создает копию объекта FocusEvent и задает значение каждого свойства, совпадающее с оригиналом.
ВозвращаетEvent — Новый объект FocusEvent, значения свойств которого соответствуют значениям оригинала.
|
toString | () | метод |
override public function toString():String
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Возвращает строку, содержащую все свойства объекта FocusEvent. Строка имеет следующий формат:
[FocusEvent type=value bubbles=value cancelable=value relatedObject=value shiftKey=value] keyCode=value]
String — Строка, содержащая все свойства объекта FocusEvent.
|
FOCUS_IN | Константа |
public static const FOCUS_IN:String = "focusIn"
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Задает значение свойства type
для объекта события focusIn
.
Это событие имеет следующие свойства:
Свойство | Значение |
---|---|
bubbles | true |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
keyCode | 0; применяется только к событиям keyFocusChange . |
relatedObject | Дополняющий экземпляр InteractiveObject, на который влияет смена фокуса. |
shiftKey | false ; применяется только к событиям keyFocusChange . |
target | Экземпляр InteractiveObject, только что получивший фокус. Свойство target не всегда является объектом из списка отображения, для которого зарегистрирован прослушиватель событий. Используйте свойство currentTarget для обращения к объекту в списке отображения, обрабатывающему событие в данный момент.
|
direction | Направление, по которому был получен фокус. Это свойство сообщает значение параметра direction метода assignFocus() рабочей области. Если фокус изменился другим способом, значение всегда будет FocusDirection.NONE . Применяется только к событиям focusIn . Для всех других событий фокуса значение будет FocusDirection.NONE . |
Связанные элементы API
FOCUS_OUT | Константа |
public static const FOCUS_OUT:String = "focusOut"
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Задает значение свойства type
для объекта события focusOut
.
Это событие имеет следующие свойства:
Свойство | Значение |
---|---|
bubbles | true |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
keyCode | 0; применяется только к событиям keyFocusChange . |
relatedObject | Дополняющий экземпляр InteractiveObject, на который влияет смена фокуса. |
shiftKey | false ; применяется только к событиям keyFocusChange . |
target | Экземпляр InteractiveObject, только что потерявший фокус. Свойство target не всегда является объектом из списка отображения, для которого зарегистрирован прослушиватель событий. Используйте свойство currentTarget для обращения к объекту в списке отображения, обрабатывающему событие в данный момент.
|
Связанные элементы API
KEY_FOCUS_CHANGE | Константа |
public static const KEY_FOCUS_CHANGE:String = "keyFocusChange"
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Задает значение свойства type
для объекта события keyFocusChange
.
Это событие имеет следующие свойства:
Свойство | Значение |
---|---|
bubbles | true |
cancelable | true ; вызовите метод preventDefault() для отмены поведения по умолчанию. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
keyCode | Значение кода клавиши, нажатой для запуска события keyFocusChange . |
relatedObject | Дополняющий экземпляр InteractiveObject, на который влияет смена фокуса. |
shiftKey | true , если активирована клавиша Shift; иначе — false . |
target | Объект InteractiveObject, который в данный момент находится в фокусе. Свойство target не всегда является объектом из списка отображения, для которого зарегистрирован прослушиватель событий. Используйте свойство currentTarget для обращения к объекту в списке отображения, обрабатывающему событие в данный момент.
|
Связанные элементы API
MOUSE_FOCUS_CHANGE | Константа |
public static const MOUSE_FOCUS_CHANGE:String = "mouseFocusChange"
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Задает значение свойства type
для объекта события mouseFocusChange
.
Это событие имеет следующие свойства:
Свойство | Значение |
---|---|
bubbles | true |
cancelable | true ; вызовите метод preventDefault() для отмены поведения по умолчанию. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
keyCode | 0; применяется только к событиям keyFocusChange . |
relatedObject | Дополняющий экземпляр InteractiveObject, на который влияет смена фокуса. |
shiftKey | false ; применяется только к событиям keyFocusChange . |
target | Объект InteractiveObject, который в данный момент находится в фокусе. Свойство target не всегда является объектом из списка отображения, для которого зарегистрирован прослушиватель событий. Используйте свойство currentTarget для обращения к объекту в списке отображения, обрабатывающему событие в данный момент.
|
Связанные элементы API
FocusEventExample
и CustomSprite
, чтобы продемонстрировать, как фокус можно использовать вместе с элементами, нарисованными в рабочей области, для захвата и печати информации. Этот код выполняет следующие задачи.
- Объявляются свойства
child
(типа Sprite) иchildCount
(типа uint). - Цикл
for
создает пять голубых квадратов в точке с координатами (0,0). Сначала свойствоchild
назначается новому экземпляру CustomSprite. При создании каждого объекта CustomSprite происходит следующее.- Свойству
size
типа uint задается значение 50 (в пикселях), а дляbgColor
задается голубой цвет. - В конструкторе свойствам класса Sprite
buttonMode
иuseHandCursor
задается значениеtrue
. - Регистрируется прослушиватель событий типа
click
вместе со связанным подписчикомclickHandler()
. Метод подписчика создает локальную переменнуюtarget
типа Sprite и присваивает ее полю, получившему щелчок. После этого фокус монтажного стола переводится наtarget
. - Вызывается метод
draw()
, создающий квадрат 50 x 50 пикселей путем вызова методовbeginFill()
,drawRect()
иendFill()
класса Graphics и свойств экземпляра.
- Свойству
- В цикле for вызывается метод
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; } }
Tue Jun 12 2018, 11:34 AM Z