Справочник по ActionScript® 3.0 для платформы Adobe® Flash®
Домашняя страница  |  Скрыть список пакетов и классов |  Пакеты  |  Классы  |  Что нового  |  Указатель  |  Приложения  |  Почему по-английски?
Фильтры: Получение данных с сервера...
Получение данных с сервера...
flash.events 

FocusEvent  - AS3

Пакетflash.events
Классpublic class FocusEvent
НаследованиеFocusEvent Inheritance Event Inheritance Object

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Объект передает объект FocusEvent, когда пользователь переносит фокус с одного объекта в списке отображения на другой объект. Существует четыре типа событий фокуса:
  • FocusEvent.FOCUS_IN
  • FocusEvent.FOCUS_OUT
  • FocusEvent.KEY_FOCUS_CHANGE
  • FocusEvent.MOUSE_FOCUS_CHANGE

Посмотреть примеры



Общедоступные свойства
 СвойствоОпределено
 Inheritedbubbles : Boolean
[только для чтения] Определяет, является ли событие событием восходящей цепочки.
Event
 Inheritedcancelable : Boolean
[только для чтения] Указывает, можно ли предотвратить поведение, связанное с событием.
Event
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
 InheritedcurrentTarget : Object
[только для чтения] Объект, активно обрабатывающий объект Event с помощью прослушивателя событий.
Event
  direction : String
Указывает направление фокуса для события focusIn.
FocusEvent
 InheritedeventPhase : uint
[только для чтения] Текущая фаза в потоке событий.
Event
  isRelatedObjectInaccessible : Boolean
Если принимает значение true, свойство relatedObject принимает значение null по причинам, связанным с изолированными средами безопасности.
FocusEvent
  keyCode : uint
Значение кода клавиши, нажатой для запуска события keyFocusChange.
FocusEvent
  relatedObject : InteractiveObject
Ссылка на дополняющий экземпляр InteractiveObject, на который влияет смена фокуса.
FocusEvent
  shiftKey : Boolean
Определяет, активирован ли модификатор клавиши Shift. Если да, то параметр имеет значение true.
FocusEvent
 Inheritedtarget : Object
[только для чтения] Целевой объект события.
Event
 Inheritedtype : 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
 Inherited
formatToString(className:String, ... arguments):String
Служебная функция для реализации метода toString() в пользовательских классах ActionScript 3.0 Event.
Event
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Проверяет, выполнялся ли для события вызова метода preventDefault().
Event
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
 Inherited
Отменяет поведение по умолчанию для события, если такое поведение можно отменить.
Event
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Отменяет обработку прослушивателей событий в текущем узле, а также во всех узлах, которые следуют в потоке событий за текущим узлом.
Event
 Inherited
Отменяет обработку прослушивателей событий в узлах, которые следуют в потоке событий за текущим узлом.
Event
 Inherited
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали.
Object
  
[переопределить] Возвращает строку, содержащую все свойства объекта FocusEvent.
FocusEvent
 Inherited
Возвращает элементарное значение заданного объекта.
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

свойство
direction:String

Версии среды выполнения: AIR 1.0, Flash Lite 4

Указывает направление фокуса для события focusIn.



Реализация
    public function get direction():String
    public function set direction(value:String):void

Связанные элементы API

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

свойство 
keyCode:uint

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Значение кода клавиши, нажатой для запуска события keyFocusChange.



Реализация
    public function get keyCode():uint
    public function set keyCode(value:uint):void

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.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblestrue
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
keyCode0; применяется только к событиям keyFocusChange.
relatedObjectДополняющий экземпляр InteractiveObject, на который влияет смена фокуса.
shiftKeyfalse; применяется только к событиям 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.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblestrue
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
keyCode0; применяется только к событиям keyFocusChange.
relatedObjectДополняющий экземпляр InteractiveObject, на который влияет смена фокуса.
shiftKeyfalse; применяется только к событиям 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.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblestrue
cancelabletrue; вызовите метод preventDefault() для отмены поведения по умолчанию.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
keyCodeЗначение кода клавиши, нажатой для запуска события keyFocusChange.
relatedObjectДополняющий экземпляр InteractiveObject, на который влияет смена фокуса.
shiftKeytrue, если активирована клавиша 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.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblestrue
cancelabletrue; вызовите метод preventDefault() для отмены поведения по умолчанию.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
keyCode0; применяется только к событиям keyFocusChange.
relatedObjectДополняющий экземпляр InteractiveObject, на который влияет смена фокуса.
shiftKeyfalse; применяется только к событиям keyFocusChange.
targetОбъект InteractiveObject, который в данный момент находится в фокусе. Свойство target не всегда является объектом из списка отображения, для которого зарегистрирован прослушиватель событий. Используйте свойство currentTarget для обращения к объекту в списке отображения, обрабатывающему событие в данный момент.

Связанные элементы API

FocusEventExample.as

В следующем примере используются классы FocusEventExample и CustomSprite, чтобы продемонстрировать, как фокус можно использовать вместе с элементами, нарисованными в рабочей области, для захвата и печати информации. Этот код выполняет следующие задачи.
  1. Объявляются свойства child (типа Sprite) и childCount (типа uint).
  2. Цикл 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 и свойств экземпляра.
  3. В цикле for вызывается метод configureListeners(), создающий три пары прослушивателей событий и подписчиков:
    • focusIn/focusInHandler() отправляется после события click для любого объекта списка отображения (поля) получившего щелчок.
    • focusOut/focusOutHandler() отправляется, когда щелчок получает другое поле или когда фокус покидает монтажный стол (например, при щелчке за пределами Flash Player).
    • keyFocusChange/keyFocusChangeHandler() отправляется, если для выбора объекта списка отображения используется клавиша Tab или клавиши со стрелками влево или вправо. Однако метод keyFocusChangeHandler() перехватывает клавиши со стрелками влево и вправо и отключает их, вызвав метод preventDefault().
  4. В цикле for каждый квадрат добавляется в список отображения и показывается с помощью метода addChild() (все в одной и той же области).
  5. Конструктор вызывает метод 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;
    }
}




[ X ]Почему по-английски?
Содержимое Справочника ActionScript 3.0 отображается на английском языке

Не все части Справочника ActionScript 3.0 переводятся на все языки. Если какой-то текстовый элемент не переведен, он отображается на английском языке. Например, компонент ga.controls.HelpBox не переведен ни на один из языков. Это значит, что в русской версии справки компонент ga.controls.HelpBox будет отображаться на английском языке.