Ich arbeite an einer Website, auf der jede Seite Schaltflächen wie "Senden" und "Abbrechen" hat. Jede dieser Schaltflächen hat ein accesskey
-Attribut. Das Attribut accesskey
des Absenden-Buttons wird auf S
und das accesskey
-Attribut des Abbrechen-Buttons auf C
gesetzt.
Zugriffsschlüssel werden mit verschiedenen Modifikatoren in verschiedenen Browsern aktiviert. Internet Explorer, Safari und Google Chrome verwenden nur das alt , während Firefox sowohl die alt als auch die shift Tasten verwendet. Außerdem verwendet Firefox alt + s , um das Verlaufsmenü zu öffnen.
Antworten auf diese Frage sollten nicht vorschlagen, die Einstellungen in der Konfiguration des Browsers zu ändern, da dies in einer Produktionsumgebung nicht möglich wäre.
Wie ändere ich die von Firefox verwendeten Modifizierertasten für accesskey
auf nur alt und verhindere, dass das Verlaufsmenü geöffnet wird?
Ich arbeite in Ubuntu 16.04.
Sie können nicht - soweit ich das beurteilen kann - die Tastenkombination ändern, die zum Aktivieren von accesskey
erforderlich ist, aber das, was Sie erreichen möchten, erfordert nicht die Verwendung des Attributs accesskey
. Sie können direkt auf das Keydown-Ereignis warten.
Fügt dem Dokument einen Keydown-Ereignis-Listener hinzu. Überprüfen Sie in der Handler-Funktion, ob die Tasten alt und s gedrückt sind. Wenn dies der Fall ist - und keine anderen Zusatztasten gedrückt werden -, verhindern Sie die Standardaktion des Ereignisses und lösen Sie dann ein Klickereignis auf der Übergabeschaltfläche aus. Wenn Sie das Klickereignis auf der Übergabeschaltfläche auslösen, wird wiederum der Übergeben-Ereignislistener ausgelöst href="https://developer.mozilla.org/en/docs/Web/API/HTMLFormElement/submit"> Auslösen des Senden-Ereignisses im Formular direkt nicht möglich.
%Vor% %Vor% Hinweise :
1. Obwohl dies in der aktuellen stabilen Version von Firefox funktioniert, habe ich keine anderen Versionen
2 getestet. In diesem Beispiel werden Sprachfeatures verwendet, die in der Version 2015 von Die ECMAScript-Sprachspezifikation . Diese Funktionen sind nicht erforderlich, um den gewünschten Effekt zu erzielen, sondern erleichtern das Lesen des Codes. Wenn Sie ältere Browser unterstützen müssen, können Sie var
anstelle von const
und eine Standardfunktion anstelle der fetten Pfeilfunktion verwenden.
3. Leider funktioniert die Stapelüberlauf-Snippet-Funktion in diesem Beispiel aufgrund des Sandboxing nicht, siehe Beispiel für JSBin stattdessen
Wenn Sie ein tiefes Wissen darüber haben wollen, dann versuchen Sie diesen Artikel mit mehr Informationen: Ссылка
Wenn Sie feststellen, dass Sie sich nicht an den Einstellungsdialog "In-Tab" gewöhnen können, sollten Sie lieber zum alten Stil zurückkehren:
Geben Sie in einer neuen Registerkarte Folgendes ein oder fügen Sie in der Adressleiste Folgendes ein: Drücken Sie Enter. Klicken Sie auf den Button, der verspricht vorsichtig zu sein.
Geben Sie im Suchfeld über der Liste pref und pause while ein Die Liste wird gefiltert
Doppelklicken Sie auf die Einstellung browser.preferences.inContent, um zu wechseln es von wahr zu falsch
Hinweis: Ich weiß nicht, ob das für immer in Firefox sein wird oder eine Übergangsfunktion ist.
Tags und Links javascript html keyboard-shortcuts firefox menubar