这通常是一个健康检查。这两个shift键的关键代码是16.这是否意味着实际上不可能在浏览器中区分左右移位事件?javascript可以区分左右shift键吗?
20
A
回答
23
在支持DOM3
的较新浏览器中,您可以使用event.location
来检查位置。
在the DOM3 spec,存在用于位置,DOM_KEY_LOCATION_STANDARD
,DOM_KEY_LOCATION_LEFT
,DOM_KEY_LOCATION_RIGHT
,和DOM_KEY_LOCATION_NUMPAD
定义4个常数。
在这种情况下,你可以这样做:
if (event.location === KeyboardEvent.DOM_KEY_LOCATION_LEFT){
} else if (event.location === KeyboardEvent.DOM_KEY_LOCATION_RIGHT){
}
2
+0
有一些区别。检查在这个问题上的PLUNK的例子:http://stackoverflow.com/questions/30218752/how-to-detect-shift-right-arrow-some-other-key-in-angular 相同的代码工作正常左移,右移不起作用 – gandra404
0
最简单的方式做到这一点
$(document).ready(function(){
$("html").keydown(function(e) {
if (e.shiftKey) {
if (event.location == 1) console.log('left shift');
if (event.location == 2) console.log('right shift');
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
注意:你有你什么时候点击里面的白色空间运行代码片段来激活键盘按键。这在Chrome和Safari中进行了测试。
相关问题
- 1. 您可以使用.keypress()中的键码区分左Ctrl键和右Ctrl键吗?
- 2. 在键盘上检测左边的右Shift键 - JavaScript
- 3. 我可以检测鼠标左键吗?或Ctrl +右键点击?
- 4. 我可以捕获Capslock/Shift键吗?
- 5. JavaScript左右键功能
- 6. 可以在vi上映射shift + shift吗?
- 7. 左分区固定,多个右分区可滚动
- 8. 按键[tab,shift,向上/向下/向左/向右箭头]和firefox
- 9. UITableView区分从左到右和从右到左滑动
- 10. 右键单击时按住Shift键?
- 11. jQuery的检查一下左Ctrl +左Shift和向左CTRL +右移
- 12. 如何区分JavaFX中的左/右移,ctrl,alt和输入键?
- 13. Javascript键盘,Shift +组合键
- 14. 区分画廊中的左右滚动
- 15. Bootstrap左右分区块对齐
- 16. 顶部菜单左,中,右分区
- 17. Shift + F6和右键单击之间的区别?
- 18. PointerPressed:左键还是右键?
- 19. 按下Shift键时可以替换字符吗?
- 20. 我可以从Emacs发送<shift>按键到Windows吗?
- 21. 如何区分左键单击,在pygame中单击鼠标右键?
- 22. Java,swt,如何区分右键点击左键点击弹出菜单
- 23. 两列分区布局:左=流体,右=固定和可滚动
- 24. 模拟右Shift + Ctrl键与SendKeys.Send()
- 25. 禁用Shift +在Firefox中右键单击使用Javascript
- 26. Eclipse按键可以将文本块左右滑动
- 27. 使QGraphicsItem可以通过鼠标右键而不是左移动
- 28. Delphi:我可以区分numpad的回车键和回车吗?
- 29. JavaFX可以读取并区分重复键值对吗?
- 30. 我可以按行键排序并随机分区吗?
你能告诉我完整的代码吗?我没有得到如何执行它 –
您可以在浏览器中的键盘事件处理程序中进行此操作,其中事件处理函数的第一个参数是'event'。 – loganfsmyth
它确定。我做了另一种方式。 http://stackoverflow.com/questions/40320597/detect-left-or-right-shift-key-in-keypress-jquery/40320730?noredirect=1 –