javascript能区分左键和右键吗?

javascript能区分左键和右键吗?,javascript,keyboard,keycode,Javascript,Keyboard,Keycode,大部分情况下,这是一次精神检查。两个换档钥匙的钥匙代码均为16。这是否意味着实际上不可能在浏览器中区分左右移动事件 Internet explorer能够通过shiftLeft属性区分左移和右移: 否则,它们将无法区分。在支持DOM3的较新浏览器中,您可以使用event.location检查位置 在中,为位置定义了4个常量,DOM\u KEY\u location\u STANDARD,DOM\u KEY\u location\u LEFT,DOM\u KEY\u location\u RIG

大部分情况下,这是一次精神检查。两个换档钥匙的钥匙代码均为16。这是否意味着实际上不可能在浏览器中区分左右移动事件

Internet explorer能够通过shiftLeft属性区分左移和右移:


否则,它们将无法区分。

在支持
DOM3
的较新浏览器中,您可以使用
event.location
检查位置

在中,为位置定义了4个常量,
DOM\u KEY\u location\u STANDARD
DOM\u KEY\u location\u LEFT
DOM\u KEY\u location\u RIGHT
DOM\u KEY\u location\u NUMPAD

在这种情况下,您可以执行以下操作:

if (event.location === KeyboardEvent.DOM_KEY_LOCATION_LEFT){

} else if (event.location === KeyboardEvent.DOM_KEY_LOCATION_RIGHT){

}

最简单的方法

$(文档).ready(函数(){
$(“html”).keydown(函数(e){
如果(如换档键){
if(event.location==1)console.log('left shift');
if(event.location==2)console.log('right shift');
}
});
});

您可以使用
事件.code
(物理键盘字符串)而不是
事件.key
(数字ascii值)

KeyboardEvent.code属性表示键盘上的物理键(与按键生成的字符相反)

如果向下滚动至底部的“代码值”,可以找到两个不同的shift键:


“ShiftLeft”
“ShiftRight”

有一些区别。在这个问题中,检查plunkr上的示例:相同的代码在左移时可以正常工作,而在右移时不能正常工作您能给我看完整的代码吗?我不知道如何执行它。你可以在浏览器中的键盘事件处理程序中使用它,其中事件处理程序函数的第一个参数是
event
。可以。我用另一种方式。这个答案仍然有效,但多年来,底部有一个新的好答案。