Používam mierne hacknutú verziu Firemacs, čo je „starý“ doplnok pre Firefox založený na XUL. Dávajte si pozor keypress
udalosti vytvorí doplnok <overlay>
a zdroj skriptu, ktorý používa:
window.addEventListener("keypress", handler, true);
Webové stránky však môžu udalosti „ukradnúť“. Napríklad v textovom poli s otázkami pre používateľa nemôžem napísať C-b, pretože je prepojený na určité formátovanie. Facebook tiež ukradne a veľa keybindings, najmä C-y, ktoré používam na prilepenie zo schránky.
Otázka: Ako môžem upraviť doplnok tak, aby vždy zachytával udalosti stlačenia klávesov ako prvé?
extra: Ako to bolo? <overlay>
prepísaná?
odpovede:
1 pre odpoveď č. 1Musíte použiť keydown
a keyup
a zabrániť im. Stlačenie klávesu je reakciou na keydown
nasledovaný keyup
. Všimnete si, že vystreľuje 3.. Takže ak zabránite šíreniu kľúča nadol pomocou e.stopPropagation(); e.preventDefault
v window.addEventListener("keydown", func, true);
malo by to blokovať.