diff options
| author | Ben Harris <bjh21@bjh21.me.uk> | 2022-11-15 22:17:33 +0000 |
|---|---|---|
| committer | Ben Harris <bjh21@bjh21.me.uk> | 2022-11-23 21:56:42 +0000 |
| commit | e79270368b709a7cceb593767b1d0ac9aa9a311f (patch) | |
| tree | 760e66b5665360e2e45578d383c01d737b506b3f | |
| parent | 2d439dd00ed41c697a917c7445e143ae10ff5e74 (diff) | |
| download | puzzles-e79270368b709a7cceb593767b1d0ac9aa9a311f.zip puzzles-e79270368b709a7cceb593767b1d0ac9aa9a311f.tar.gz puzzles-e79270368b709a7cceb593767b1d0ac9aa9a311f.tar.bz2 puzzles-e79270368b709a7cceb593767b1d0ac9aa9a311f.tar.xz | |
js: Move global keyboard handler to capturing phase
In the bubbling phase it managed to catch the "Enter" keypress that
opened a dialogue box from the menu and use it to close the dialogue
box again. I think it's probably reasonable to have it run earlier and
just permanently steal any keypresses it wants.
| -rw-r--r-- | emccpre.js | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -519,11 +519,16 @@ function initPuzzle() { for (var i in dlg_return_funcs) dlg_return_funcs[i](); command(3); + event.preventDefault(); + event.stopPropagation(); } - if (dlg_dimmer !== null && event.keyCode == 27) + if (dlg_dimmer !== null && event.keyCode == 27) { command(4); - }); + event.preventDefault(); + event.stopPropagation(); + } + }, true); // Event handler to fake :focus-within on browsers too old for // it (like KaiOS 2.5). Browsers without :focus-within are also |