按键组合的奇怪问题

时间:2014-11-09 09:13:51

标签: javascript jquery combinations keypress

我正在使用这个代码,我在这里找到了一个用于按键组合的stackoverflow帖子:

$(document).keypress("c",function(e) {
    if(e.ctrlKey) {
        alert('Combined');
    }
});

问题是,我不确定" c"的含义是什么,但此代码只会在Ctrl + z上发出警报,而且我试图替换它" c",但它仍然只适用于Ctrl + z。

这是我发现代码的地方: jquery: keypress, ctrl+c (or some combo like that)

为什么?

2 个答案:

答案 0 :(得分:1)

那里“c”没有做任何你可以删除的事情。 它仅在CTRL + Z上发出警报,因为if条件是e.ctrlKey,如果你删除它并像这样写

$(document).keypress(function(e) {
    alert('Combined')
});

它会在每次按键时发出警报

答案 1 :(得分:1)

此代码仅在Ctrl + z上发出警报,我试图替换“c”,但它仍然只适用于Ctrl + z

那不是真的。此代码适用于任何组合Ctrl + [key]。

Demo

所以你的问题无法复制

关于"c"作为.keypress方法的第一个参数:根据manual第一个参数(在您的情况下为"c"),如果存在,则传递给事件处理程序作为data对象的属性Event。 因此,您可以在事件处理程序中通过e.data表示法访问它(请参阅演示)。