keydown没有在div上开火

时间:2014-11-11 20:00:22

标签: jquery switch-statement keydown

我的keydown有问题。当页面在div" screenA"用户有两个选项,按空格键或" i"键。 "我"键显示警报,空格键显示div screenTimer。当用户在div screenTimer上时,她应该可以按右箭头键来调用startTesting()以及控制台日志。

i键和空格键有效,但右箭头键(39)不执行任何操作,也不显示控制台日志。

$(document).keydown( function(e)
            {
                if ( boolKeyDepressed )
                    return;
                else
                    boolKeyDepressed = true;

        var e = e || window.event;
                var ltr = e.keyCode ? e.keyCode : e.charCode;
                var trans = "";


                if ( ltr == 13 ) 
                {
                    event.preventDefault();
                }

                switch(ltr)
                {

                    case 73: // "i" key

                        if (!$('screenA').is(':visible')) {
                        alert("i key");
                        }   
                        break;
                    case 32: // space bar 

                        if (!$('screenA').is(':visible')) {

                        showDiv('screenTimer');
                        hideDiv("screenA");

                        }

                        break;

                    case 39: // right arrow key

                        if (!$('screenTimer').is(':visible')) {
                     console.log("timer");
                        startTesting();
                    }

                        break;


                }


        });

1 个答案:

答案 0 :(得分:0)

你必须使用keypress而不是keydown,用keypress尝试你的代码