gpt4 book ai didi

javascript - 当窗口获得焦点时,我可以检测是否按住了按键吗?

转载 作者:行者123 更新时间:2023-12-02 23:53:48 24 4
gpt4 key购买 nike

我正在跟踪 keyDown 和 keyUp 以显示 JavaScript 中是否按下了 Shift 键:

window.addEventListener("keydown",doKeyDown,false);
window.addEventListener("keyup",doKeyUp,false);
var shiftKeyDown = false;

function doKeyDown(e) {
if (e.keyCode==16) { shiftKeyDown = true; }
}

function doKeyUp(e) {
if (e.keyCode==16) { shiftKeyDown = false; }
}

但是,用户可能会在按住 Shift 键的同时将焦点转移到另一个窗口,因此我的窗口永远不会听到 keyup 事件。我是否认为当窗口再次获得焦点时无法检测到 Shift 键的状态,因此我可以正确更新 shiftKeyDown

最佳答案

当窗口失去焦点时,您可以添加一个 window.onBlur 事件监听器并将 shiftKeyDown 设置为 false。

window.addEventListener("blur",onBlur,false);
function onBlur(e){
shiftKeyDown = false
}

关于javascript - 当窗口获得焦点时,我可以检测是否按住了按键吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55520309/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com