Es scheint, dass es nicht möglich ist, das Tastaturereignis normalerweise für kopieren beim Ausführen einer Flex-Anwendung im Browser oder als AIR zu erfassen App, vermutlich weil der Browser oder das Betriebssystem es zuerst abfängt.Capture Cmd-C (oder Ctrl-C) Tastaturereignis von modularen Flex-Anwendung in Browser oder AIR
Gibt es eine Möglichkeit, dem Browser oder Betriebssystem mitzuteilen, dass das Ereignis durchgelassen werden soll?
Zum Beispiel auf einem Advanced Ich habe das keyUp Ereignis handleCaseListKeyUp (event) festgelegt, die die folgende Funktion aufruft:
private function handleCaseListKeyUp(event:KeyboardEvent):void
{
var char:String = String.fromCharCode(event.charCode).toUpperCase();
if (event.ctrlKey && char == "C")
{
trace("Ctrl-C");
copyCasesToClipboard();
return;
}
if (!event.ctrlKey && char == "C")
{
trace("C");
copyCasesToClipboard();
return;
}
// Didn't match event to capture, just drop out.
trace("charCode: " + event.charCode);
trace("char: " + char);
trace("keyCode: " + event.keyCode);
trace("ctrlKey: " + event.ctrlKey);
trace("altKey: " + event.altKey);
trace("shiftKey: " + event.shiftKey);
}
Wenn er gestartet wird, kann ich nie die Freigabe der Taste „C“ erhalten während auch die Befehlstaste gedrückt wird (was als KeyboardEvent.ctrlKey angezeigt wird). Ich erhalte die folgende Trace-Ergebnisse:
charCode: 0
char:
keyCode: 17
ctrlKey: false
altKey: false
shiftKey: false
Wie Sie sehen können, ist die einzige Veranstaltung, die ich ist die Freigabe des Befehlstaste erfassen kann, die Freigabe der „C“ -Taste gedrückt, während Sie die Taste Befehl hält nicht einmal ist geschickt.
Hat jemand erfolgreich Standard-Kopieren und Einfügen Tastaturhandhabung implementiert?
Soll ich einfach die Taste "C" verwenden (wie im Codebeispiel gezeigt) oder eine Kopie-Schaltfläche verfügbar machen?
Oder muss ich den Listener manuell auf einer höheren Ebene erstellen und das Ereignis in die Eingeweide meiner modularen Anwendung weiterleiten?
nur einen Kommentar abgeben wollte und sagen, dass Sie flash.ui.Keyboard importieren und verwenden können Keyboard.CONTROL, Keyboard.A usw. anstatt die keycodes wissen :-) – Seaux