Я хочу сохранить клавиши «вниз» в моем приложении. Я делаю это таким образом, что я помещаю клавиши «вниз» в массив при keydown и удаляю их при keyup.
Теперь проблема возникает, когда я отлаживаю с контрольными точками, которая останавливается после keydown, но до keyup. Keyup никогда не запускается, и мои клавиши «вниз» будут зарегистрированы навсегда, нарушая логику c моего приложения.
Псевдокод для объяснения:
<html>
<script>
const keys = new Set();
window.addEventListener("keydown", (e) => {
keys.add(e.keyCode)
debugger; // the app stops at this breakpoint when developer tools is open
});
window.addEventListener("keyup", (e) => {
keys.delete(e.keyCode) // this does not run when stopping at breakpoint
});
</script>
</html>
Как бы вы гарантировали, что keys
Набор всегда отражает ключи, которые на самом деле вниз.