空间单击“不注册”

时间:2013-12-13 23:46:10

标签: javascript jquery html css html5

注意:所有代码都在这个jsFiddle中:http://jsfiddle.net/5qrkk/
我有这个代码在Javascript中注册空格

$(window).on("keydown", function(key){
    if(key==32){
        console.log("SPACE");
        $(".sh").fadeOut(600).toggleClass("hdt").toggleClass("sh");
        $(".hd").fadeIn(600).toggleClass("sht").toggleClass("hd");
        $(".sht").toggleClass("sh").toggleClass("sht");
        $(".hdt").toggleClass("hd").toggleClass("hdt");
    }
});  

if循环内部的内容使得类sh(显示)的div变为隐藏,并用hdt替换类sh(而不是立即转到hd因为仍然需要修改旧的hd类) 。当前在高清类(开始隐藏)的div也会发生同样的事情。单击空格时,这些事件(包括console.log)都不会发生。我还想避免将它们放在$(document).ready()函数中,因为这可能会产生错误,因为这会更改DOM并且每次运行时都需要使用更新的DOM。

1 个答案:

答案 0 :(得分:2)

function(key) {
   if(key==32){

应该是

function(e){
    if(e.keyCode == 32){

传递给处理程序的参数是event对象。 keyCode是该对象上的一个属性,它为您提供按下的键。

<强> Updated Fiddle