我使用jQuery来进行按键事件。这是我的命令:
$(document).ready(function() {
$(document).bind('keydown', 'f1', function() {
alert('f1');
});
});
$(document).ready(function() {
$(document).bind('keydown', 'f2', function() {
alert('f2');
});
});
我想按 F1 键时我会得到alert('f1')
,当我按> kbd> F2键时,我会得到alert('f2')
但是当我按 F1 键时,我得到2 alert('f1')
。
当我按 F1 键时如何获得alert('f1')
?
答案 0 :(得分:2)
$(document).keypress(function(k) {
switch(k.keyCode){
// user presses the "F1"
case 112: alert("F1");
break;
// user presses the "F2"
case 113: alert("F2");
break;
}
});
为了演示JS-Fiddle,我提供了一个映射出keyCode
s的工作演示:
<input id="whichkey" value="play_here"><span>This will tell you char_code</span>
<p>Click into our body and press F1 or F2. Problem solved.
$("#whichkey").on("keydown", function(e) {
alert(e.which);
});
$(document).keypress(function(k) {
console.log(k.keyCode);
switch(k.keyCode)
{
// user presses the "F1"
case 112: alert("F1");
break;
// user presses the "F2"
case 113: alert("F2");
break;
}
});
再次,请看这里。这会更有意义:
我觉得你正试图扩展它,所以我给你一个解决方案,你可以这样做。我在许多javascript游戏中使用它作为core function
,并且最好始终考虑可扩展性。
任何人都可以高尔夫代码(让它尽可能快速和最短地运行),但除非它具有100%特定任务,否则考虑到更广泛的频谱,您将更好地发展{{ 1}}可以做。
答案 1 :(得分:0)
我宁愿使用.keyup()
之类的
// f1 = 112
// f2 = 113
// f3 = 114
$(document).keyup(function (event) {
if (event.keyCode == 112) {
console.log("you pressed F1");
};
}); //keyup
参见 JSFIDDLE
答案 2 :(得分:0)
你可以这样做:
$(document).ready(function () {
$(document).keydown( function (e) {
if (e.keyCode == 112) alert('f1');
else if (e.keyCode == 113) alert('f2');
});
});
的jsfiddle:http://jsfiddle.net/C97h6/1
答案 3 :(得分:0)
在dom ready
$('body').keydown(function(e){
if(e.keyCode=="112")
{
alert("f1");
e.preventDefault();
}
if(e.keyCode=="113")
{
alert("f2");
e.preventDefault();
}
});
Demo此处