/ / Wie kann ein Firefox XUL-Addon verhindern, dass Websites Keypress-Ereignisse stehlen? - Javascript, Javascript-Events, Firefox-Addon, Tastendruck, XUL

Wie kann ein Firefox XUL-Addon Webseiten davon abhalten, Keypress-Events zu stehlen? - Javascript, Javascript-Ereignisse, Firefox-Addon, Tastendruck, xul

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 № 1

Sie 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.