Главная / Action Script 3
Пакетflash.events
Классpublic class FocusEvent
НаследованиеFocusEvent Inheritance Event Inheritance Object

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Flash® Player передает объекты FocusEvent, когда пользователь переносит фокус с одного объекта в списке отображения на другой объект. Существует четыре типа событий фокуса:

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



Общедоступные свойства
 СвойствоОпределено
 Inheritedbubbles : Boolean
[только для чтения] Определяет, является ли событие "событием на цепочке".
Event
 Inheritedcancelable : Boolean
[только для чтения] Определяет, можно ли отключить поведение, связанное с событием.
Event
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
 InheritedcurrentTarget : Object
[только для чтения] Объект, активно обрабатывающий объект Event с помощью прослушивателя событий.
Event
 InheritedeventPhase : uint
[только для чтения] Текущая фаза в потоке событий.
Event
  isRelatedObjectInaccessible : Boolean
Если принимает значение true, свойство relatedObject принимает значение null по причинам, связанным с изолированными средами безопасности.
FocusEvent
  keyCode : uint
Значение кода клавиши, нажатой для запуска события keyFocusChange.
FocusEvent
 Inheritedprototype : Object
[статические] Ссылка на модель объекта класса или функции.
Object
  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)
Создает объект 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
  
Возвращает строку, содержащую все свойства объекта FocusEvent.
FocusEvent
 Inherited
Возвращает элементарное значение заданного объекта.
Object
Общедоступные константы
 Константа Определено
 InheritedACTIVATE : String = "activate"
[статические] Константа Event.ACTIVATE определяет значение свойства type объекта события Activitate.
Event
 InheritedADDED : String = "added"
[статические] Константа Event.ADDED определяет значение свойства type добавленного объекта события.
Event
 InheritedADDED_TO_STAGE : String = "addedToStage"
[статические] Константа Event.ADDED_TO_STAGE определяет значение свойства type объекта события addedToStage.
Event
 InheritedCANCEL : String = "cancel"
[статические] Константа Event.CANCEL определяет значение свойства type объекта события cancel.
Event
 InheritedCHANGE : String = "change"
[статические] Константа Event.CHANGE определяет значение свойства type объекта события change.
Event
 InheritedCLEAR : String = "clear"
[статические] Задает значение свойства type для объекта события clear.
Event
 InheritedCLOSE : String = "close"
[статические] Константа Event.CLOSE определяет значение свойства type объекта события close.
Event
 InheritedAIR-only CLOSING : String = "closing"
[статические] Константа Event.CLOSING определяет значение свойства type объекта события closing.
Event
 InheritedCOMPLETE : String = "complete"
[статические] Константа Event.COMPLETE определяет значение свойства type объекта события complete.
Event
 InheritedCONNECT : String = "connect"
[статические] Константа Event.CONNECT определяет значение свойства type объекта события connect.
Event
 InheritedCOPY : String = "copy"
[статические] Задает значение свойства type для объекта события copy.
Event
 InheritedCUT : String = "cut"
[статические] Задает значение свойства type для объекта события cut.
Event
 InheritedDEACTIVATE : String = "deactivate"
[статические] Константа Event.DEACTIVATE определяет значение свойства type объекта события deactivate.
Event
 InheritedDISPLAYING : String = "displaying"
[статические] Задает значение свойства type для объекта события displaying.
Event
 InheritedENTER_FRAME : String = "enterFrame"
[статические] Константа Event.ENTER_FRAME определяет значение свойства type объекта события enterFrame.
Event
 InheritedEXIT_FRAME : String = "exitFrame"
[статические] Определяет значение свойства type объекта exitFrame.
Event
 InheritedAIR-only EXITING : String = "exiting"
[статические] Константа Event.EXITING определяет значение свойства type объекта exiting.
Event
  FOCUS_IN : String = "focusIn"
[статические] Задает значение свойства type для объекта события focusIn.
FocusEvent
  FOCUS_OUT : String = "focusOut"
[статические] Задает значение свойства type для объекта события focusOut.
FocusEvent
 InheritedFRAME_CONSTRUCTED : String = "frameConstructed"
[статические] Задает значение свойства type для объекта события frameConstructed.
Event
 InheritedFULLSCREEN : String = "fullScreen"
[статические] Константа Event.FULL_SCREEN определяет значение свойства type для объекта события fullScreen.
Event
 InheritedAIR-only HTML_BOUNDS_CHANGE : String = "htmlBoundsChange"
[статические] Константа Event.HTML_BOUNDS_CHANGE определяет значение свойства type объекта htmlBoundsChange.
Event
 InheritedAIR-only HTML_DOM_INITIALIZE : String = "htmlDOMInitialize"
[статические] Константа Event.HTML_DOM_INITIALIZE определяет значение свойства type объекта события htmlDOMInitialize.
Event
 InheritedAIR-only HTML_RENDER : String = "htmlRender"
[статические] Константа Event.HTML_RENDER определяет значение свойства type объекта события htmlRender.
Event
 InheritedID3 : String = "id3"
[статические] Константа Event.ID3 определяет значение свойства type объекта id3.
Event
 InheritedINIT : String = "init"
[статические] Константа Event.INIT определяет значение свойства type объекта init.
Event
  KEY_FOCUS_CHANGE : String = "keyFocusChange"
[статические] Задает значение свойства type для объекта события keyFocusChange.
FocusEvent
 InheritedAIR-only LOCATION_CHANGE : String = "locationChange"
[статические] Константа Event.LOCATION_CHANGE определяет значение свойства type объекта события locationChange.
Event
  MOUSE_FOCUS_CHANGE : String = "mouseFocusChange"
[статические] Задает значение свойства type для объекта события mouseFocusChange.
FocusEvent
 InheritedMOUSE_LEAVE : String = "mouseLeave"
[статические] Константа Event.MOUSE_LEAVE определяет значение свойства type объекта события mouseLeave.
Event
 InheritedAIR-only NETWORK_CHANGE : String = "networkChange"
[статические] Константа Event.NETWORK_CHANGE определяет значение свойства type объекта события networkChange.
Event
 InheritedOPEN : String = "open"
[статические] Константа Event.OPEN определяет значение свойства type объекта open.
Event
 InheritedPASTE : String = "paste"
[статические] Задает значение свойства type для объекта события paste.
Event
 InheritedREMOVED : String = "removed"
[статические] Константа Event.REMOVED определяет значение свойства type объекта события removed.
Event
 InheritedREMOVED_FROM_STAGE : String = "removedFromStage"
[статические] Константа REMOVED_FROM_STAGE определяет значение свойства type объекта события removedFromStage.
Event
 InheritedRENDER : String = "render"
[статические] Константа Event.RENDER определяет значение свойства type объекта события render.
Event
 InheritedRESIZE : String = "resize"
[статические] Константа Event.RESIZE определяет значение свойства type объекта события resize.
Event
 InheritedSCROLL : String = "scroll"
[статические] Константа Event.SCROLL определяет значение свойства type объекта события scroll.
Event
 InheritedSELECT : String = "select"
[статические] Константа Event.SELECT определяет значение свойства type объекта события select.
Event
 InheritedSELECT_ALL : String = "selectAll"
[статические] Задает значение свойства type для объекта события selectAll.
Event
 InheritedSOUND_COMPLETE : String = "soundComplete"
[статические] Константа Event.SOUND_COMPLETE определяет значение свойства type объекта события soundComplete.
Event
 InheritedTAB_CHILDREN_CHANGE : String = "tabChildrenChange"
[статические] Константа Event.TAB_CHILDREN_CHANGE определяет значение свойства type объекта события tabChildrenChange.
Event
 InheritedTAB_ENABLED_CHANGE : String = "tabEnabledChange"
[статические] Константа Event.TAB_ENABLED_CHANGE определяет значение свойства type объекта события tabEnabledChange.
Event
 InheritedTAB_INDEX_CHANGE : String = "tabIndexChange"
[статические] Константа Event.TAB_INDEX_CHANGE определяет значение свойства type объекта события tabIndexChange.
Event
 InheritedUNLOAD : String = "unload"
[статические] Константа Event.UNLOAD определяет значение свойства type объекта unload.
Event
 InheritedAIR-only USER_IDLE : String = "userIdle"
[статические] Константа Event.USER_IDLE определяет значение свойства type объекта события userIdle.
Event
 InheritedAIR-only USER_PRESENT : String = "userPresent"
[статические] Константа Event.USER_PRESENT определяет значение свойства type объекта события userPresent.
Event
Сведения о свойстве
isRelatedObjectInaccessibleсвойство
isRelatedObjectInaccessible:Boolean  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 10

Если принимает значение true, свойство relatedObject принимает значение null по причинам, связанным с изолированными средами безопасности. Если номинальным значением свойства relatedObject является ссылка на объект DisplayObject в другой изолированной среде, свойство relatedObject принимает значение null, пока не будут заданы двусторонние права в границах данной изолированной среды. Права задаются путем вызова метода Security.allowDomain() из SWF-файла или указания файла политик на сервере файла изображений и задания свойства LoaderContext.checkPolicyFile при загрузке изображения.



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

См. также

keyCodeсвойство 
keyCode:uint  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

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



Реализация
    public function get keyCode():uint
    public function set keyCode(value:uint):void
relatedObjectсвойство 
relatedObject:InteractiveObject  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Ссылка на дополняющий экземпляр InteractiveObject, на который влияет смена фокуса. Например, когда происходит событие focusOut, relatedObject представляет InteractiveObject, получивший фокус.

Это свойство может принимать значение null по двум причинам: связанный объект отсутствует или связанный объект существует, но находится в изолированной программной среде безопасности, доступ к которой запрещен. Используйте свойство isRelatedObjectInaccessible() для определения причины.



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

См. также

shiftKeyсвойство 
shiftKey:Boolean  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 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
Версии среды выполнения:  1.0 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()метод
override public function clone():Event

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Создает копию объекта FocusEvent и задает значение каждого свойства, совпадающее с оригиналом.

Возвращает
Event — Новый объект FocusEvent, значения свойств которого соответствуют значениям оригинала.
toString()метод 
override public function toString():String

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Возвращает строку, содержащую все свойства объекта FocusEvent. Строка имеет следующий формат:

[FocusEvent type=значение bubbles=значение cancelable=значение relatedObject=значение shiftKey=значение]

Возвращает
String — Строка, содержащая все свойства объекта FocusEvent.
Сведения о константе
FOCUS_INКонстанта
public static const FOCUS_IN:String = "focusIn"

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Задает значение свойства type для объекта события focusIn.

Данное событие имеет следующие свойства.

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

См. также

FOCUS_OUTКонстанта  
public static const FOCUS_OUT:String = "focusOut"

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Задает значение свойства type для объекта события focusOut.

Данное событие имеет следующие свойства.

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

См. также

KEY_FOCUS_CHANGEКонстанта  
public static const KEY_FOCUS_CHANGE:String = "keyFocusChange"

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Задает значение свойства type для объекта события keyFocusChange.

Данное событие имеет следующие свойства.

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

См. также

MOUSE_FOCUS_CHANGEКонстанта  
public static const MOUSE_FOCUS_CHANGE:String = "mouseFocusChange"

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Задает значение свойства type для объекта события mouseFocusChange.

Данное событие имеет следующие свойства.

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

См. также

Примеры Как пользоваться примерами
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;
    }
}