/ / Ako môže Firefox XUL-addon zabrániť webovým stránkam ukradnúť udalosti stlačenia klávesov? - javascript, javascript-events, firefox-addon, keypress, xul

Ako môže Firefox XUL-addon zabrániť webovým stránkam pred krádežou udalostí? - javascript, javascript-events, firefox-addon, keypress, xul

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ď č. 1

Musí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ť.