Ich verwende eine etwas gehackte Version von Firemacs, einem "alten" XUL-basierten Addon für Firefox. Aufpassen keypress
Events erstellt das Plugin eine <overlay>
und ruft ein Skript auf, das Folgendes verwendet:
window.addEventListener("keypress", handler, true);
Websites können jedoch die Ereignisse "stehlen". Zum Beispiel kann ich in das Frage-Textfeld von SO nicht C-b eingeben, da dies zu einigen Formatierungen führt. In ähnlicher Weise stiehlt Facebook a Menge von Tastenkombinationen, insbesondere C-y, die ich zum Einfügen aus der Zwischenablage verwende.
Frage: Wie kann ich das Addon so ändern, dass es immer zuerst die Tastendruckereignisse erfasst?
Extra: Wie war das? <overlay>
überschrieben
Antworten:
1 für die Antwort № 1Sie müssen verwenden keydown
und keyup
und verhindern Sie diese. Ein Tastendruck erfolgt als Antwort auf keydown
gefolgt von keyup
. Sie werden feststellen, dass es 3. abfeuert. Wenn Sie also verhindern, dass sich der Schlüssel mit fortpflanzt e.stopPropagation(); e.preventDefault
im window.addEventListener("keydown", func, true);
es sollte es blockieren.