当一个键映射到多个字符时,如何防止Jquery keydown/keyup事件返回多个事件?

当一个键映射到多个字符时,如何防止Jquery keydown/keyup事件返回多个事件?,jquery,keyboard-events,Jquery,Keyboard Events,如果单个键映射到多个字符,则一次按键将执行多次keyup事件 在这种情况下,有人知道如何识别按键的物理行为吗 欢呼声使用keyup,像ctrl这样的键不会触发事件向下键执行此操作 使用下面的代码,我可以捕获几乎所有按下的物理键(我想) 脚本: $(document).ready(function() { $(document).keyup(function(e) { alert('This key: ' + e.keyCode); }); }); Html:

如果单个键映射到多个字符,则一次按键将执行多次keyup事件

在这种情况下,有人知道如何识别按键的物理行为吗


欢呼声

使用
keyup
,像
ctrl
这样的键不会触发事件<代码>向下键执行此操作

使用下面的代码,我可以捕获几乎所有按下的物理键(我想)

脚本:

$(document).ready(function() {
    $(document).keyup(function(e) {
        alert('This key: ' + e.keyCode);
    });
});
Html:



我已经尝试了keydown、keypress和keypup,但在这种情况下,它们都不能实现实际的单次按键。我正在处理一个字符串映射到键的情况。因此,在本例中,单个按键会为字符串中的每个字符生成一个keydown/keypress/keypup事件。我只想捕获单个按键。@Che:如果您指的是绕过热键实用程序或操作系统映射的按键,那么我猜捕获实际物理按键的机会很小或根本没有。这些实用程序拦截关键操作的级别低于典型浏览器在DOM级别对脚本所做的操作。@好的,是的,这正是我的意思,我开始同意你的看法。我还没有找到任何关于如何识别单个按键的信息。谢谢你,伙计。@Che:没问题,希望你能找到出路。祝你好运
$(document).ready(function(){
    $(document).keydown(function(e){
        $("#key").html($("#key").html() + " " + e.keyCode)
    });
});
<div id="key"></div>