jQuery检查是否单击左ctrl +左移和左ctrl +右移

时间:2012-02-14 12:25:35

标签: javascript jquery events

我试着做这个代码:

$(input).keyup(function (e)
{
    alert(e.shiftKey);
});

但我写的每个角色都显示“假”,我该怎么做?

4 个答案:

答案 0 :(得分:3)

遗憾的是,事件API无法实现这一点 - 两个shift键都返回keyCode 16,两个ctrl键都返回17 - 它们无法区分!

对不起坏消息:(

答案 1 :(得分:1)

您的问题是使用keyup()。当事件触发时,Shift键被释放并且不再活跃。尝试使用keydown()keypress()

答案 2 :(得分:0)

尝试

$("input").keydown(function (e)
{
    if(e.shiftKey && e.ctrlKey){ alert("shift + crtl Pressed");}
});

这很好用

答案 3 :(得分:0)

当两个键都关闭时,将触发跟随:

$(input).keydown(function (e) {
    if (e.shiftKey && e.ctrlKey) {
        // This code would run if both the control and shift are down.
    }
});

但是,只要它们关闭,它就会继续被触发,通过按住输入框中的两个键来查看jQuery example

我认为jQuery的.keypress()能够告诉你什么时候被按下而不是只是被按住,但它似乎只会在字符键a-z, 0-1, ?!>~#等上被调用。