我正在尝试更改keydown和keyup上的div元素的颜色,但我似乎无法让它工作。我检查了我可以在互联网上找到的每个例子,但我的代码似乎不起作用。
我发现的所有示例似乎都使用表单输入文本字段作为按键的目标。我不想这样做。这是我的代码:
$(document).keydown(function(e){
if(e.which == 'A')
{
alert('key was pressed');
$(#k1).css('background-color', "blue");
}
});
我的想法是$(文档)不正确,因为函数永远不会被调用。但是因为我找到的所有例子都使用了文本字段输入,所以我只能弄清楚要放在那里的内容。
答案 0 :(得分:4)
的 LIVE DEMO 强>
$(document).keydown(function(e){
if(e.which == 65){
alert('Pressed key was: '+ e.which );
$("#k1").css( { backgroundColor:"blue" } );
}
});
如果您需要$('input')
代替$(document)
,请随时使用它,
65
是 A
event.which
答案 1 :(得分:1)
一些事情。首先,event.which
将返回与密钥相关的数字。其次,你的jquery目标需要是一个字符串。因此,将=='A'
更改为==65
,将$(#k1)
更改为$("#k1")
,这样就可以了。这是一个演示:http://jsfiddle.net/AeBtV/
JS
$(document).keydown(function(e){
if(e.which == 65)
{
alert('A key was pressed');
$("#k1").css('background-color', "blue");
}
});
注意关键代码:
A到Z的范围是65-90。因此A是65,Z是90,R是82。
答案 2 :(得分:0)
我使用.live:
捕获了keyup和keydown事件$(“#my_id”)。live('keydown',function(event){
...
});
答案 3 :(得分:0)
您的which
条件无效。应该像其他人提到的那样是65岁。
http://api.jquery.com/keypress/
如果向下滚动,则可以键入任意键并查看每个键的值。
或者,您可以
console.log(e.which);