Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带有“的按键关闭事件”;Ctrl、Shift或Alt";不会在Windows上触发_Javascript_Keyboard Events - Fatal编程技术网

Javascript 带有“的按键关闭事件”;Ctrl、Shift或Alt";不会在Windows上触发

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(至少)用修改键做了一些有趣的事情 在操作配置下,转到鼠标

我想知道用户在鼠标移动过程中何时按下Shift键

问题是Windows在按下Ctrl、Shift或Alt时不会触发keydown事件。相反,该事件是在释放键时触发的。但是,在Mac上,一切都按预期工作(按下键时会触发keydown)

关于鼠标移动事件的相同问题。event.shiftKey只有在按住Shift键并触发鼠标向下移动后才为真

有什么解决办法吗?下面是一个例子:


谢谢/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]);
}