| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Aug 2003 Ort: Schlicktown
Beiträge: 91
| mc + keyhandler
Jetzt habe ich folgendes Problem das ich momentan nicht zu lösen weiss: hier ist wieder meine komponente(mc): [name] [inputtext] Diese Komponente hat einen keyhandler für [inputtext] der mit Key.addListener(input_txt); gesetzt wird. Die Komponente wird nun zur Laufzeit dynamisch erstellt --> [meier] [inputtext] [mueller] [inputtext] [schmidt] [inputtext] jetzt will ich mit den den Cursortasten zwischen diesen Komponenten hin und herspringen. Drücke ich jetzt z.B. keydown, dann wird der Handler in diesem Beispiel 3x für jedes mc aufgerufen und nicht nur für den mc, in dem gerade der Fokus ist. Bei den anderen von mir verwendeten Tasten Return und ESC kann ich das einfach abfangen, indem ich überprüfe, ob das aktuelle mc gerade Fokus hat. ActionScript:
Bei Keydown bringt das nichts, weil ich ja wenn ich in mc1 bin der fokus auf mc2 gesetzt wird und somit die obige Funktion true wiedergibt. Das heisst, wenn ich in mc1 bin und auf keydown drücke, lande ich auf mc3 anstatt mc2 in diesem Beispiel, also immer im letzten mc. Hat jemand von Euch eine Idee, wie ich dieses Problem elegant umschiffen kann? |
| | |
| | #2 (permalink) |
| Neuer User Registriert seit: Aug 2003 Ort: Schlicktown
Beiträge: 91
|
Dazu zu erwähnen sei noch, das das Problem nur bei keydown auftritt und nicht bei keyup, weil die keyhandler von oben nach unten abgearbeitet werden. wenn ich also nach oben steuere von mc3 nach mc2, dann ist der keyhandler von mc2 schon abgearbeitet. Umgekehrt wenn ich von mc2 auf mc3 springe wird der Handler dann in mc3 nochmals abgearbeitet.
|
| | |
| | #6 (permalink) |
| helpQLODhelp Registriert seit: Feb 2002 Ort: Köln
Beiträge: 8.505
|
Du musst das Setzen des Focus leicht verzögern. Das kannst du z.B. mit setInterval oder einem FrameLoop machen. mfg r.
__________________ Ralf Bokelberg™ - Flex & Flash Consulting |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Aug 2003 Ort: Schlicktown
Beiträge: 91
|
@bokel Mit setInterval funktioniert es wie gewünscht. Danke für den Tipp. Vielleicht kannst Du mir auch folgende Frage beantworten: wenn das input_txt Feld mit Selection.getFocus(...) fokussiert wird, dann wird das Feld auch gleichzeitig selektiert. Das sieht aber bei hoch- runterwandern so aus, als ob der Cursor stehen bleibt. Wie kann ich jetzt die Selektion nach getFocus wieder rückgängig machen? |
| | |
| | #8 (permalink) |
| helpQLODhelp Registriert seit: Feb 2002 Ort: Köln
Beiträge: 8.505
|
Mit Selection.setSelection kannst du den Cursor positionieren. mfg r.
__________________ Ralf Bokelberg™ - Flex & Flash Consulting |
| | |
| | #10 (permalink) |
| helpQLODhelp Registriert seit: Feb 2002 Ort: Köln
Beiträge: 8.505
|
Das ist vielleicht der cursor-leaves-artifact-bug älterer Playerversionen. Bei Macromedia findest du Updates für die internen Player von Flash. mfg r.
__________________ Ralf Bokelberg™ - Flex & Flash Consulting |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |