2015-02-06 118 views
0

我正在尝试使用jQuery在某人按下某个键时发生某些操作,例如'x'。按钮按下事件

这里是我的代码:

.keydown(function(event) { 
    var keycode = "" 
    function getKey(e) { 
     keycode = e.keyCode; 
    }; 
    if (keycode === 88) { 
     $('ryu-still').hide(); 
     $('.ryu-cool').show(); 
    }; 
}); 

我想要做的,是在“X”是按压的情况下,它会隐藏部分,并显示其他部分。所以我添加了一个函数来捕获正在按下的键,存储它,然后检查它。如果它是“x”,则执行该事件。

请帮忙!

+2

你不打电话给你的内部函数。你实际上并不需要这个内部函数。只需执行'if(e.keyCode === 88)'。 – crush 2015-02-06 03:03:51

+0

@crush我怀疑他计划增强'getKey'函数来使用'keyCode'或'charCode',无论哪一个都适合。 – Barmar 2015-02-06 03:08:30

+0

@Barmar那么他需要做的就是在使用keyCode的值之前调用它。我可能会让它返回值,而不是外部变量。 – crush 2015-02-06 03:09:22

回答

0

这是keypress事件的示例代码。我希望它有帮助。

$(document).keypress(function(e) { 
 
    e.preventDefault(); 
 
    var code = e.which; 
 
    var cxar = String.fromCharCode(code); 
 
    $('body').append(cxar + " = " + code + "<br/>"); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
Click in this window and press any key<br/>

0

正如暗恋所指出的那样,内在的功能是无所作为的。你想要的东西是这样的:

$('body').keydown(function(event) { 
    if (event.keyCode === 88) { 
     console.log("hey, you pressed x"); 
     $('ryu-still').hide(); 
     $('.ryu-cool').show(); 
    }; 
});