Es gibt keine Wahl zwischen "besten" oder universellen Tastenmodifikatoren
Ihre besten Möglichkeiten sind:
Verwenden Sie keine Änderungstaste (nur einmaliges Drücken) und hören Sie dann auf, Tastendrücke zu erkennen, wenn sich der Cursor des Benutzers in einem Eingabefeld oder Textbereich befindet, wie dies bei Google Mail-Verknüpfungen der Fall ist .
-- oder --
Wählen Sie basierend auf den Betriebssystemstatistiken Ihrer Analytics-Daten einen Standard aus, der für die Mehrheit Ihrer Besucher geeignet ist. Ermöglichen Sie Hauptbenutzern, die Verknüpfungen aktivieren möchten, und überschreiben Sie die Modifizierertaste in ihren Benutzereinstellungen auf die gleiche Weise wie bei der Desktop-Software.
-- oder --
Verwenden Sie eine Triggertaste anstelle einer Modifizierertaste. Überlegen ,2Sie, ob Sie in Ihrem Navigationsbereich mit Registerkarten zur zweiten Registerkarte und beispielsweise ,3zur dritten Registerkarte wechseln möchten . Die Kombination eines Kommas unmittelbar gefolgt von einer Zahl ist ungewöhnlich genug, um die Wahrscheinlichkeit von Konflikten oder versehentlichem Drücken zu verringern.
In allen Fällen können Sie in Betracht ziehen, Tastenkombinationen standardmäßig zu deaktivieren , um ein unerwartetes Verhalten für die Mehrheit der Benutzer zu verhindern, denen Tastenkombinationen wahrscheinlich nicht wichtig sind.
Warum nicht einfach eine Modifikator-Kombination auswählen?
Der Grund, warum ich diese Methoden vorschlage, ist, dass es keinen standardisierten plattformübergreifenden Modifikatorschlüssel gibt, den Sie für die Verwendung mit JavaScript in einer Browserumgebung für sicher halten können. Alles enthält Ctrl, Shift, Alt, oder Cmdwird wahrscheinlich einige Browser - Shortcuts auf bestimmten Plattformen brechen.
Ihr Vorschlag zur Verwendung Ctrl+ Shiftzum Beispiel bricht Firefox Verknüpfungen auf Windows, von denen viele nutzen diese Kombination erfüllen spezielle Funktionen , wie zum Beispiel Ctrl+ Shift+ D, die Lesezeichen all geöffnet Tabs.
Browserhersteller verwenden unterschiedliche Verknüpfungen, um Zugriffstasten auf den verschiedenen Plattformen auszulösen, da es keinen plattformübergreifenden Standard gibt. Apple verwendet zum Beispiel Ctrlauf dem Mac und Altunter Windows in Safari.
Darüber hinaus löst jeder Browser Verknüpfungskonflikte auf unterschiedliche Weise. Dies führt zu unerwarteten Konsequenzen für Ihre Benutzer. Wenn Sie einen Tastendruck an eine Funktion in JavaScript binden, die auch eine Bindung als native Browserverknüpfung hat ...
- Firefox führt die JavaScript-Verknüpfung von selbst aus, wenn Sie
return false;
jedoch Ihre JavaScript-Funktion ausführen, gefolgt von der Firefox-Browserverknüpfung, wenn Sie dies tun return true;
(dh, standardmäßig werden beide ausgeführt).
- Der IE führt die JavaScript-Funktion aus, gefolgt von der Verknüpfung zum IE-Browser.
- Safari / Chrome / Opera verarbeitet die Browserverknüpfung, jedoch nicht die JavaScript-Verknüpfung.
[Quelle: der Anhang am Fuße der Readme-Seite zu jquery.hotkeys von John Resig .]