我试着做这个代码:
$(input).keyup(function (e)
{
alert(e.shiftKey);
});
但我写的每个角色都显示“假”,我该怎么做?
答案 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, ?!>~#
等上被调用。