首页 > 解决方案 > 在 keydown 的断点处停止时未触发 Javascript keyup

问题描述

我想将向下键存储在我的应用程序中。我这样做的方式是将向下键放入 keydown 上的数组并在 keyup 上删除它们。

现在,当我使用断点进行调试时会出现问题,断点在 keydown 之后但在 keyup 之前停止。keyup 永远不会运行,我的 down 键将永远被注册,从而破坏我的应用程序的逻辑。

伪代码解释:

<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>

您如何确保keysSet 始终反映实际关闭的键。

标签: javascriptgoogle-chrome-devtoolskeyboard-events

解决方案


推荐阅读