Referenshandbok för ActionScript® 3.0 i Adobe® Flash®-plattformen
Hem  |  Dölj paket och klasslista |  Paket  |  Klasser  |  Nyheter  |  Index  |  Bilagor  |  Varför på engelska?
Filter: Hämtar data från servern ...
Hämtar data från servern ...
flash.events 

FocusEvent  - AS3

Paketflash.events
Klasspublic class FocusEvent
ArvFocusEvent Inheritance Event Inheritance Object

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Ett objekt skickar ett FocusEvent-objekt när användaren flyttar fokus från ett objekt i visningslistan till ett annat. Det finns två typer av fokushändelser:
  • FocusEvent.FOCUS_IN
  • FocusEvent.FOCUS_OUT
  • FocusEvent.KEY_FOCUS_CHANGE
  • FocusEvent.MOUSE_FOCUS_CHANGE

Visa exemplen



Publika egenskaper
 EgenskapDefinieras med
 Inheritedbubbles : Boolean
[skrivskyddad] indikerar om händelsen är en bubblande händelse.
Event
 Inheritedcancelable : Boolean
[skrivskyddad] Indikerar om beteendet som är kopplat till händelsen kan förhindras.
Event
 Inheritedconstructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans.
Object
 InheritedcurrentTarget : Object
[skrivskyddad] Det objekt som aktivt behandlar Event-objektet med en händelseavlyssnare.
Event
  direction : String
Specificerar fokusets riktning i en focusIn-händelse.
FocusEvent
 InheritedeventPhase : uint
[skrivskyddad] Den nuvarande fasen i händelseflödet.
Event
  isRelatedObjectInaccessible : Boolean
Om true, är egenskapen relatedObject satt till null av orsaker som är relaterade till säkerhetssandlådor.
FocusEvent
  keyCode : uint
Teckenkodsvärdet för tangenten som trycktes ned för att aktivera en keyFocusChange-händelse.
FocusEvent
  relatedObject : InteractiveObject
En referens till den kompletterande InteractiveObject-instansen som påverkas av fokusändringen.
FocusEvent
  shiftKey : Boolean
Indikerar om skifttangentsmodifieringen är aktiverad. I så fall är värdet true.
FocusEvent
 Inheritedtarget : Object
[skrivskyddad] Händelsens mål.
Event
 Inheritedtype : String
[skrivskyddad] Händelsens typ.
Event
Publika metoder
 MetodDefinieras med
  
FocusEvent(type:String, bubbles:Boolean = true, cancelable:Boolean = false, relatedObject:InteractiveObject = null, shiftKey:Boolean = false, keyCode:uint = 0, direction:String = "none")
Skapar ett nytt Event-objekt med information som är relevant för fokushändelser.
FocusEvent
  
[åsidosätt] Skapar en kopia av FocusEvent-objektet och ställer in värdet för alla egenskaper så att de matchar originalets egenskaper.
FocusEvent
 Inherited
formatToString(className:String, ... arguments):String
Ett verktyg som används för att implementera metoden toString() i de anpassade klasserna ActionScript 3.0.
Event
 Inherited
Anger om det finns en egenskap angiven för ett objekt.
Object
 Inherited
Kontrollerar om preventDefault()-metoden har anropats för händelsen.
Event
 Inherited
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter.
Object
 Inherited
Avbryter en händelses standardbeteende om det beteendet kan avbrytas.
Event
 Inherited
Anger om den angivna egenskapen finns och är uppräkningsbar.
Object
 Inherited
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder.
Object
 Inherited
Förhindrar behandling av händelsehanterare i den aktuella noden och alla noder som följer den aktuella noden i händelseflödet.
Event
 Inherited
Förhindrar behandling av händelsehanterare i noder som följer den aktuella noden i händelseflödet.
Event
 Inherited
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner.
Object
  
[åsidosätt] Returnerar en sträng som innehåller alla egenskaper i FocusEvent-objektet.
FocusEvent
 Inherited
Returnerar det angivna objektets primitiva värde.
Object
Publika konstanter
 KonstantDefinieras med
  FOCUS_IN : String = "focusIn"
[statisk] Definierar värdet för ett focusIn-händelseobjekts type-egenskap.
FocusEvent
  FOCUS_OUT : String = "focusOut"
[statisk] Definierar värdet för ett focusOut-händelseobjekts type-egenskap.
FocusEvent
  KEY_FOCUS_CHANGE : String = "keyFocusChange"
[statisk] Definierar värdet för ett keyFocusChange-händelseobjekts type-egenskap.
FocusEvent
  MOUSE_FOCUS_CHANGE : String = "mouseFocusChange"
[statisk] Definierar värdet för ett mouseFocusChange-händelseobjekts type-egenskap.
FocusEvent
Egenskapsdetaljer

direction

egenskap
direction:String

Körningsmiljöversioner: AIR 1.0, Flash Lite 4

Specificerar fokusets riktning i en focusIn-händelse.



Implementering
    public function get direction():String
    public function set direction(value:String):void

Relaterade API-element

isRelatedObjectInaccessible

egenskap 
isRelatedObjectInaccessible:Boolean

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 10, Flash Lite 4

Om true, är egenskapen relatedObject satt till null av orsaker som är relaterade till säkerhetssandlådor. Om det nominella värdet för relatedObject är en referens till ett DisplayObject i en annan sandlåda, är relatedObject satt till null om det inte finns behörighet i båda riktningar över den här sandlådegränsen. Behörighet etableras genom att anropa Security.allowDomain() från en SWF-fil, eller genom att tillhandahålla en principfil för en server för en bildfil och ställa in egenskapen LoaderContext.checkPolicyFile under inläsning av bilden.



Implementering
    public function get isRelatedObjectInaccessible():Boolean
    public function set isRelatedObjectInaccessible(value:Boolean):void

Relaterade API-element

keyCode

egenskap 
keyCode:uint

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Teckenkodsvärdet för tangenten som trycktes ned för att aktivera en keyFocusChange-händelse.



Implementering
    public function get keyCode():uint
    public function set keyCode(value:uint):void

relatedObject

egenskap 
relatedObject:InteractiveObject

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

En referens till den kompletterande InteractiveObject-instansen som påverkas av fokusändringen. När exempelvis en focusOut-händelse inträffar motsvarar relatedObject det InteractiveObject-objekt som har hamnat i fokus.

Värdet för den här egenskapen kan vara null under två förhållanden: om det inte finns något relaterat objekt, eller om det finns ett relaterat objekt, men i en säkerhetssandlåda som du inte har tillgång till. Använd egenskapen isRelatedObjectInaccessible() för att avgöra vilken av dessa orsaker det är som gäller.



Implementering
    public function get relatedObject():InteractiveObject
    public function set relatedObject(value:InteractiveObject):void

Relaterade API-element

shiftKey

egenskap 
shiftKey:Boolean

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Indikerar om skifttangentsmodifieringen är aktiverad. I så fall är värdet true. Annars är värdet false. Egenskapen används bara om FocusEvent är av typen keyFocusChange.



Implementering
    public function get shiftKey():Boolean
    public function set shiftKey(value:Boolean):void
Konstruktordetaljer

FocusEvent

()Konstruktor
public function FocusEvent(type:String, bubbles:Boolean = true, cancelable:Boolean = false, relatedObject:InteractiveObject = null, shiftKey:Boolean = false, keyCode:uint = 0, direction:String = "none")

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Skapar ett nytt Event-objekt med information som är relevant för fokushändelser. Event-objekt skickas som parametrar till händelseavlyssnare.

Parametrar
type:String — Händelsens typ. Möjliga värden är: FocusEvent.FOCUS_IN, FocusEvent.FOCUS_OUT, FocusEvent.KEY_FOCUS_CHANGE och FocusEvent.MOUSE_FOCUS_CHANGE.
 
bubbles:Boolean (default = true) — Bestämmer om Event-objektet deltar i bubblingssteget av händelseflödet.
 
cancelable:Boolean (default = false) — Avgör om Event-objektet kan avbrytas.
 
relatedObject:InteractiveObject (default = null) — Anger den kompletterande InteractiveObject-instansen som påverkas av fokusändringen. När exempelvis en focusIn-händelse inträffar motsvarar relatedObject det InteractiveObject-objekt som är ur fokus.
 
shiftKey:Boolean (default = false) — Anger om skifttangentmodifieringen är aktiverad.
 
keyCode:uint (default = 0) — Anger koden för tangenten som trycktes ned för att aktivera en keyFocusChange-händelse.
 
direction:String (default = "none") — Indikerar från vilket håll som det målinteraktiva-objektet aktiveras. Ställ in FocusDirection.NONE (standardvärde) för alla händelser utom focusIn.

Relaterade API-element

Metoddetaljer

clone

()metod
override public function clone():Event

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Skapar en kopia av FocusEvent-objektet och ställer in värdet för alla egenskaper så att de matchar originalets egenskaper.

Returnerar
Event — Ett nytt FocusEvent-objekt med egenskapsvärden som matchar originalet.

toString

()metod 
override public function toString():String

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Returnerar en sträng som innehåller alla egenskaper i FocusEvent-objektet. Strängen är i följande format:

[FocusEvent type=värde bubbles=värde cancelable=värde relatedObject=värde shiftKey=värde] keyCode=värde]

Returnerar
String — En sträng som innehåller alla FocusEvent-objektet egenskaper.
Konstantdetaljer

FOCUS_IN

Konstant
public static const FOCUS_IN:String = "focusIn"

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Definierar värdet för ett focusIn-händelseobjekts type-egenskap.

Den här händelsen har följande egenskaper:

EgenskapVärde
bubblestrue
cancelablefalse; det finns inget standardbeteende att avbryta.
currentTargetDet objekt som aktivt behandlar Event-objektet med en händelseavlyssnare.
keyCode0; är bara tillämpligt på keyFocusChange-händelser.
relatedObjectDen kompletterande InteractiveObject-instansen som påverkas av fokusändringen.
shiftKeyfalse; är bara tillämpligt på keyFocusChange-händelser.
targetDen InteractiveObject-instans som just hamnat i fokus. target är inte alltid det objekt i visningslistan som har registrerat händelseavlyssnaren. Använd egenskapen currentTarget om du vill komma åt det objekt i visningslistan som bearbetar händelsen.
directionRiktningen från vilken fokus tilldelades. Den här egenskapen rapporterar värdet på direction-parametern på steget med assignFocus()-metoden. Om fokus ändrades på annat sätt kommer värdet alltid att vara FocusDirection.NONE. Gäller enbart för focusIn-händelser. För alla andra fokushändelser kommer värdet att vara FocusDirection.NONE.

Relaterade API-element

FOCUS_OUT

Konstant 
public static const FOCUS_OUT:String = "focusOut"

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Definierar värdet för ett focusOut-händelseobjekts type-egenskap.

Den här händelsen har följande egenskaper:

EgenskapVärde
bubblestrue
cancelablefalse; det finns inget standardbeteende att avbryta.
currentTargetDet objekt som aktivt behandlar Event-objektet med en händelseavlyssnare.
keyCode0; är bara tillämpligt på keyFocusChange-händelser.
relatedObjectDen kompletterande InteractiveObject-instansen som påverkas av fokusändringen.
shiftKeyfalse; är bara tillämpligt på keyFocusChange-händelser.
targetDen InteractiveObject-instans som just hamnat ur fokus. target är inte alltid det objekt i visningslistan som har registrerat händelseavlyssnaren. Använd egenskapen currentTarget om du vill komma åt det objekt i visningslistan som bearbetar händelsen.

Relaterade API-element

KEY_FOCUS_CHANGE

Konstant 
public static const KEY_FOCUS_CHANGE:String = "keyFocusChange"

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Definierar värdet för ett keyFocusChange-händelseobjekts type-egenskap.

Den här händelsen har följande egenskaper:

EgenskapVärde
bubblestrue
cancelabletrue; anropa preventDefault()-metoden för att avbryta standardbeteendet.
currentTargetDet objekt som aktivt behandlar Event-objektet med en händelseavlyssnare.
keyCodeTeckenkodsvärdet för tangenten som trycktes ned för att aktivera en keyFocusChange-händelse.
relatedObjectDen kompletterande InteractiveObject-instansen som påverkas av fokusändringen.
shiftKeytrue om skifttangentmodifieraren aktiveras, annars false.
targetDen InteractiveObject-instans som är i fokus. target är inte alltid det objekt i visningslistan som har registrerat händelseavlyssnaren. Använd egenskapen currentTarget om du vill komma åt det objekt i visningslistan som bearbetar händelsen.

Relaterade API-element

MOUSE_FOCUS_CHANGE

Konstant 
public static const MOUSE_FOCUS_CHANGE:String = "mouseFocusChange"

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Definierar värdet för ett mouseFocusChange-händelseobjekts type-egenskap.

Den här händelsen har följande egenskaper:

EgenskapVärde
bubblestrue
cancelabletrue; anropa preventDefault()-metoden för att avbryta standardbeteendet.
currentTargetDet objekt som aktivt behandlar Event-objektet med en händelseavlyssnare.
keyCode0; är bara tillämpligt på keyFocusChange-händelser.
relatedObjectDen kompletterande InteractiveObject-instansen som påverkas av fokusändringen.
shiftKeyfalse; är bara tillämpligt på keyFocusChange-händelser.
targetDen InteractiveObject-instans som är i fokus. target är inte alltid det objekt i visningslistan som har registrerat händelseavlyssnaren. Använd egenskapen currentTarget om du vill komma åt det objekt i visningslistan som bearbetar händelsen.

Relaterade API-element

FocusEventExample.as

I följande exempel används klasserna FocusEventExample och CustomSprite för att visa hur fokus kan användas i kombination med poster som ritas på scenen för att fånga händelser och utskriftsinformation. I det här exemplet utförs följande uppgifter:
  1. Det deklarerar egenskaperna child (av typen Sprite) och childCount (av typen uint).
  2. En for-slinga skapar fem ljusblåa fyrkanter på (0,0). Den börjar med att tilldela child till en ny CustomSprite-instans. Varje gång ett CustomSprite-objekt skapas händer följande:
    • size-egenskapen av typen uint är inställd på 50 pixlar och bgColor är inställd på ljusblå.
    • Egenskaperna buttonMode och useHandCursor för klassen Sprite är inställda på true inom konstruktorn.
    • En händelseavlyssnare av typen click skapas, tillsammans med den kopplade mottagaren clickHandler(). Mottagarmetoden skapar en lokal variabel target för typen Sprite och tilldelar den den ruta som användaren klickar på. Scenfokus tilldelas sedan till target.
    • draw()-metoden anropas, vilket skapar en fyrkant om 50 × 50 pixlar genom att anropa metoderna beginFill(), drawRect() och endFill() för klassen Graphics och instansernas egenskaper.
  3. I slingan for anropas metoden configureListeners()som startar tre händelseavlyssnare/mottagare:
    • focusIn/focusInHandler() skickas efter att användaren har klickat på click-händelsen för ett visningslisteobjekt (ruta).
    • focusOut/focusOutHandler() skickas när användaren klickar på en annan ruta eller om fokus lämnar scenen (t.ex. om användaren klickar utanför Flash Player).
    • keyFocusChange/keyFocusChangeHandler() skickas om du använder tabbtangenten eller tangenterna vänsterpil och högerpil för att välja ett visningslisteobjekt. Med metoden keyFocusChangeHandler() svälls dock tangenterna vänsterpil och högerpil, och metoden preventDefault() anropas för att inaktivera dem.
  4. I for-slingan läggs varje fyrkant till i visningslistan och visas (alla i samma område) med addChild().
  5. Konstruktorn anropar sedan refreshLayout() som distribuerar den orange fyrkanten över överkanten (y = 0) av visningen med 5 pixlar mellan varje fyrkant.
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 ]Varför på engelska?
Innehåll i Referenshandbok för ActionScript 3.0 i Adobe Flash-plattformen är på engelska

Det är inte alla delar av Referenshandbok för ActionScript 3.0 i Adobe Flash-plattformen som översätts till alla språk. Om ett språkelement inte översätts visas det på engelska. Klassen ga.controls.HelpBox översätts till exempel inte till något språk. I den svenska versionen av referenshandboken visas därför klassen ga.controls.HelpBox på engelska.