Fix cheat code events bubbling up to the browser #5
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Some keys are used as browser shortcut keys. If these are part of a
sequence, the browser may intercept the key events and take focus away
from the page.
For example, the Firefox
accessibility.typeaheadfind
feature pops thesearch box open when any letter/number key is pressed. This makes
entering a cheat code impossible, since every keypress after the first
goes to the search box.
The solution is to call the
.stopPropagation()
and.preventDefault()
methods on the key event object for keys you careabout receiving so those events don't bubble up to the browser. This
commit prevents events from propagating if they contribute to an active
sequence. It might make sense to trap any keys that are part of any
sequence, regardless of whether they're the "next" key in any sequence.