你能否使用.keypress()中的按键码区分左CTRL键和右CTRL键?(涉及IT技术)

5

如果我按下 Ctrl 键,此代码将触发警报:

$('#text').bind('keypress', function(e) {
    if(e.keyCode==17)
    {
        alert("Boo ya");
    }
});

是否有办法只在按下左侧Ctrl键时才触发警报?


可能是重复的问题:如何判断事件是否来自右Ctrl键? - Platinum Azure
2个回答

5

我知道这个问题已经很老了,但现在似乎可以使用KeyboardEvent.code

document.getElementById('i').addEventListener("keyup", function(e) {
  e.target.value = e.code;
});
<input id="i" value="try keyboard here">

按下左或右Shift键可以获得ShiftLeftShiftRight


有什么想法,为什么在我的联想ThinkPad P53上,当我按右Ctrl键时,无论是在内置(德语)键盘上还是在使用外部(美国布局)键盘时,我会得到“IntlRo”而不是“ControlRight”? - Schlacki

4

至少使用keyCode是无法区分两个键的,它们的keyCode都是17。我不知道有其他方法可以区分这两个键,而且我认为很可能没有这样的方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接