javascript能区分左键和右键吗?
大部分情况下,这是一次精神检查。两个换档钥匙的钥匙代码均为16。这是否意味着实际上不可能在浏览器中区分左右移动事件 Internet explorer能够通过shiftLeft属性区分左移和右移: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
否则,它们将无法区分。在支持
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
。可以。我用另一种方式。这个答案仍然有效,但多年来,底部有一个新的好答案。