In einigen Web -Anwendungen, mit einem einzigen Hotkey oder eine Kombination von Hotkeys löst eine Aktion durch die Anwendung . Standard- Hotkeys wie " Strg -X ", um Text in die Zwischenablage zu verschieben, "Alt -F4 ", um ein Fenster zu schließen und "Shift -F5 ", um eine volle Fenster Aktualisierung zu erzwingen . Erkennen die Kombination von Hotkeys, die in JavaScript gedrückt wurden ist komplizierter, als Sie vielleicht erwarten. Frühe Browser Anforderungen nicht enthalten Details wie der Wert, der in Etikettieren jede Taste auf der Tastatur verwenden , und verschiedenen Unternehmen eingesetzt unterschiedliche Werte für den gleichen Schlüssel . Während Sie einen empfohlenen Ansatz zur Überprüfung Hotkeys, die gedrückt wurden folgen kann , überprüfen Sie die Werte und die Differenz der Werte über Web-Browser . Hotkeys
Hotkey ist ein Schlüssel, eine Art von Aktion in einer Anwendung , wenn es gedrückt wird auslöst. Zum Beispiel könnte ein Spiel "z" und "c" als Tastenkombinationen verwenden , um ein Objekt links und rechts zu drehen. Einige Anwendungen verwenden eine Kombination von Hotkeys durch die Kombination von alphanumerischen Zeichen mit anderen Sondertasten zum Beispiel G "" und der Pfeil nach oben . Drei spezielle Tasten " Strg", "Alt" und "Shift ", sind oft mit Hotkeys Kombination verwendet . Zum Beispiel: " Strg -S " wird oft als eine Kombination Hotkey verwendet "Speichern". Kombination Hotkeys können mehr als einen speziellen Schlüssel gehören , wie in " Ctrl -Alt -P. "
< Br >
Keycode und charCode
Jedes druckbare Zeichen einen numerischen ASCII-Code zugeordnet ist , die so genannte charcode . Jede Taste auf der Tastatur hat auch einen numerischen Code zugeordnet genannt Keycode . Die beiden sind nicht immer die gleiche . Zum Beispiel , die Großbuchstaben Kleinbuchstaben "a" und "A" haben unterschiedliche Zeichencodes aber teilen sich die gleichen Zahlen . Nicht druckbare Zeichen wie das oben und unten Pfeile haben keine charcode überhaupt .
Keyboard Events
JavaScript , wenn eine Taste ist gedrückt wird, löst es eine Reihe von Veranstaltungen . JavaScript setzt Eigenschaften eines Ereignisses Objekt, um Informationen über das Ereignis liefern . A " keydown " Ereignis passiert , wenn eine Taste gedrückt wird und ein " keyup " wird ausgelöst, wenn die Taste losgelassen wird . Während die Taste gedrückt gehalten wird , wird ein " Tastendruck " Ereignis kontinuierlich ausgelöst . Während dieser Veranstaltung bieten die meisten Browser die charcode Wert des Schlüssels gedrückt . Während einer keydown oder keyup Veranstaltung , setzen die meisten Browser den Schlüsselcode Wert des Schlüssels , der das Ereignis ausgelöst hat. Bei allen drei Fällen wird zusätzlich eine Eigenschaft namens ", die " in der Regel auf den Unicode-Wert der gedrückten Taste , darunter spezielle Tasten eingestellt . CtrlKey , altKey und shiftKey - - Die meisten Browser auch drei flagss gesetzt und zeigt den Schlüssel, nach unten , wenn das Ereignis ausgelöst wurde gehalten
Browser Differenzen
Auswahl der Veranstaltung. und Eigentum bei der Bestimmung der Kombination von JavaScript Hotkeys, die gedrückt wurden verwendet , kann eine Herausforderung sein . Leider interpretieren nicht alle Web-Browsern oder Browser implementieren Spezifikationen identisch . Als Ergebnis haben Chrome , Firefox , Internet Explorer, Opera und Safari nicht die gleichen Ereignisse auslösen oder verwenden Sie die gleichen Tastencodes für jede Taste . Zum Beispiel Internet Explorer bietet die charcode nie , nur der Keycode . Firefox nur den Keycode bei Tastendruck und bietet die charcode für keydown und keyup . Der Schlüsselcode für den Darm Schlüssel ist 59 in Firefox und 186 in Internet Explorer und Safari . Die meisten Unterschiede sind jedoch für andere Tasten als "a" bis "z ", " A" bis "Z ", " 0 " bis "9 ", " Strg", existieren "Alt" und "Shift ".
Bestimmung Hotkeys
Verwenden Sie eine externe Bibliothek wie jQuery, Prototype , Dojo oder MooTools , wenn Sie einen Track brauchen Kombination von JavaScript Hotkeys, die spezielle Tasten enthält , da diese Bibliotheken im Allgemeinen behandeln die Konvertierungen zwischen Browsern und haben ein einzelnes Objekt Eigenschaft Referenz. Um die Tastenkombination , die das Ereignis ausgelöst ohne eine Bibliothek zu bestimmen , verwenden Sie den " Tastendruck " und aktivieren Sie die Veranstaltung ", die " Eigenschaft . Wenn diese Eigenschaft ist Null oder undefiniert , überprüfen Sie die "keycode " Eigenschaft . Vergleichen Sie diesen Wert auf den Wert Ihres Hotkey , überprüfen Sie die ctrlKey , altKey und shiftKey Fahnen, und festzustellen, ob die Kombination von JavaScript Hotkeys gedrückt wurde.