Javascript 带有“的按键关闭事件”;Ctrl、Shift或Alt";不会在Windows上触发
我想知道用户在鼠标移动过程中何时按下Shift键 问题是Windows在按下Ctrl、Shift或Alt时不会触发keydown事件。相反,该事件是在释放键时触发的。但是,在Mac上,一切都按预期工作(按下键时会触发keydown) 关于鼠标移动事件的相同问题。event.shiftKey只有在按住Shift键并触发鼠标向下移动后才为真 有什么解决办法吗?下面是一个例子:Javascript 带有“的按键关闭事件”;Ctrl、Shift或Alt";不会在Windows上触发,javascript,keyboard-events,Javascript,Keyboard Events,我想知道用户在鼠标移动过程中何时按下Shift键 问题是Windows在按下Ctrl、Shift或Alt时不会触发keydown事件。相反,该事件是在释放键时触发的。但是,在Mac上,一切都按预期工作(按下键时会触发keydown) 关于鼠标移动事件的相同问题。event.shiftKey只有在按住Shift键并触发鼠标向下移动后才为真 有什么解决办法吗?下面是一个例子: 谢谢/Eric你的Windows机器是虚拟机吗?Parallels(至少)用修改键做了一些有趣的事情 在操作配置下,转到鼠标
谢谢/Eric你的Windows机器是虚拟机吗?Parallels(至少)用修改键做了一些有趣的事情 在
操作
配置
下,转到鼠标和键盘
选项卡。在键盘
标签旁边,选择游戏优化
该选项下方的Parallels状态为:“当键盘针对游戏进行优化时,修改键会变得更灵敏。”尝试在
document.body
而不是document
上添加事件,并使用addEventListener()
根据,和,keydown
事件应启动。感谢您回复我!没有区别,在windows上,这些键的事件仍然在“keyup”而不是“keydown”时触发。我刚刚在我的Windows box上尝试了你的代码,它的行为符合预期。事件在按下键时触发。您的系统上一定有一些不同。非常感谢,现在事件在按下键时触发。Shiftdown仍然需要在mouseDown事件之前发生,我才能检测到它(正版windows安装)天哪,我正在开发一个电子应用程序,它使用keydown+修改键。我当时正在测试平行线,我对此感到很疯狂。非常感谢。
document.onkeydown = function (e) {
addText('Key pressed: ' + e.key)
};
document.onmousemove = function (e) {
if(e.shiftKey)
addText('ShiftMove');
else {
addText('NoShift')
}
}
function addText(text) {
var newP = document.createElement("p");
newP.innerText = text;
document.body.insertBefore(newP,document.body.childNodes[0]);
}