Zurück   Flashforum > Flex und AIR > Flex programmieren

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-12-2011, 13:16   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2011
Beiträge: 35
Keyboard Event lässt sich nicht abbrechen

Hallo liebe Gemeinde,

mir ist da mal wieder ein etwas unterschiedliches Verhalten zwischen der AIR Runtime und dem Flash Player aufgefallen, daß mich etwas verzweifeln lässt.

Konkret habe ich ein TLF Textfeld, in dem Text eingetragen werden kann. Hierzu habe ich den "SimpleEditor" aus den TLF Beispielen ein wenig angepasst.

Leider unterstützt dieser keine Tabstops. Genauer gesagt, drückt man "TAB", springt der Fokus aus dem Textfenster raus auf einen der Buttons.
Hermit habe ich versucht, daß zu unterdrücken und einen Tabulator einzufügen.

Code:
private function onTabPress(e:KeyboardEvent):void{
	if(e.keyCode == Keyboard.TAB){
		e.preventDefault();
		//e.stopPropagation(); 
                // oder auch: (geht beides nicht)

		e.stopImmediatePropagation();

		var mgr:EditManager = _textFlow.interactionManager as EditManager;
		mgr.insertText("\t");
	}
}
Teste ich das unter AIR (als Standalone), funktioniert es einwandfrei.
Im FlashPlayer (als Webprojekt) wird der Tabulator eingefügt, aber der Fokus springt trotzdem aus dem Fenster.

Weiss jemand, woran das unterschiedliche Verhalten liegt, und wie ich das unterdrücken kann?

Wäre wirklich für jeden Tipp dankbar.

Danke im voraus,

slim.tim

P.S. Framework ist 4.5.1 ; FP 11.0.1 ; AIR 3.0
slim.tim ist offline   Mit Zitat antworten
Alt 20-12-2011, 15:43   #2 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
Registriert seit: Feb 2006
Ort: Augsburg
Beiträge: 3.499
Hi,

versuchs mal so:
PHP-Code:
import flash.events.FocusEvent;
import flash.ui.Keyboard;

tf.addEventListener(FocusEvent.KEY_FOCUS_CHANGEkfch);

function 
kfch(e:FocusEvent):void{
    if(
e.keyCode == Keyboard.TAB && e.shiftKey==false){
        
e.preventDefault();
        var 
tf:TLFTextField e.currentTarget as TLFTextField;
        
tf.replaceSelectedText("\t");
    }

mfg

sx
__________________

flintfabrik.de
shin10 ist offline   Mit Zitat antworten
Alt 20-12-2011, 16:21   #3 (permalink)
Neuer User
 
Registriert seit: Jul 2011
Beiträge: 35
Hallo shin10,

Das war die Lösung!
FocusEvent.KEY_FOCUS_CHANGE bringt das richtige Ergebnis.

Vielen Dank für die schnelle Antwort!

Bleibt nur die Frage, warum ich in FP und AIR unterschiedliche Ergebnisse kriege. Hast Du da eine Idee? Oder gibts irgendeine offizielle Seite, wo man über die Unterschiede was lesen kann? Hab leider nichts gefunden in die Richtung.

Nochmals Danke!

slim.tim
slim.tim ist offline   Mit Zitat antworten
Alt 20-12-2011, 16:31   #4 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
Registriert seit: Feb 2006
Ort: Augsburg
Beiträge: 3.499
Das kann ich dir leider nicht direkt sagen. Eigentlich sollte das einheitlich sein. Ich kann in sofern nur mutmaßen. Accessability war bei flash ja immer so ein Thema und vor allem Gegenargument. Womöglich hat man sich da beim Webplugin daher mehr "Mühe" gegeben ungewollte Probleme diesbezüglich zu vermeiden. Die Frage für mich ist so gesehen eher, warum deine Variante als standalone funktioniert. Da kann ich mir eigentlich nur denken, dass es mit dem Handling der Tabtaste innerhalb des Browsers zu tun hat - also, was intern unternommen wird, dass die swf den Fokus im browser nicht verliert. Aber ich schätze da können wir lange rumraten.
__________________

flintfabrik.de
shin10 ist offline   Mit Zitat antworten
Alt 21-12-2011, 08:07   #5 (permalink)
Neuer User
 
Registriert seit: Jul 2011
Beiträge: 35
Tja, da hast Du vermutlich recht.
Danke nochmal für die Hilfe!
slim.tim ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
air, event propagation, flash player, preventdefault()

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mouse and Keyboard Event hothead89 ActionScript 3 2 21-06-2010 22:33
Event.ENTER_FRAME lässt sich nicht beenden Daniel1412 ActionScript 3 7 19-09-2008 17:18
onEnterFrame-Event lässt sich nicht stoppen speebo Flash MX 2004 2 25-08-2005 13:42
mpg lässt sich nicht importieren buschpflanze Flash 4 und Flash 5 2 07-02-2003 14:23
1,5 MB swf lässt sich nicht publizieren lilamuck Flash 4 und Flash 5 2 27-01-2003 10:12


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:14 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele