使用特定键在keydown上触发事件

时间:2015-04-10 07:58:53

标签: javascript jquery

我试图使用keydown方法触发网页中的事件,对于这个特定的例子,我需要它由X键触发。我现在已经搜索了一下,我对如何让它识别X键被按下感到困惑。我正在寻找88的密钥代码。这是我的代码有什么建议吗?

$(document).ready(function() {
    $('.ryu').mouseenter(function() {
        $('.ryu-still').hide();
        $('.ryu-ready').show();
    })
    .mouseleave(function() {
        $('.ryu-ready').hide();
        $('.ryu-still').show();
    })
    .mousedown(function() {
        console.log('mousedown');
        // play hadouken sound
        playHadouken();
        //show hadouken and animate it to the right of the screen
        $('.ryu-ready').hide();
        $('.ryu-throwing').show();
        $('.hadouken').finish().show().animate(
            {'left': '1020px'},
            500,
            function() {
                $(this).hide();
                $(this).css('left', '625px');
            }
        );
    })
    .mouseup(function() {
        console.log('mouseup');
        //ryu goes back to his ready position
        $('.ryu-throwing').hide();
        $('.ryu-ready').show();
    })
    .keydown(function() {
        if (keyCode = 88) {
            $('.ryu-ready').hide();
            $('.ryu-cool').show();
        }   
    })
    .keyup(function() {
        if (keyCode = 88) {
            $('.ryu-cool').hide();
            $('.ryu-still').show();
        }
    })


function playHadouken () {
    $('#hadouken-sound')[0].volume = 0.5;
    $('#hadouken-sound')[0].load();
    $('#hadouken-sound')[0].play();
}

})

2 个答案:

答案 0 :(得分:0)

您应该传递事件参数:

.keydown(function (e) {
  if (e.which === 88) {
        $('.ryu-cool').hide();
        $('.ryu-still').show();
    }
})

答案 1 :(得分:0)

这是一个工作小提琴

http://jsfiddle.net/k5es6na0/

<input type = "text" id="inputBox"/>    

    $("#inputBox").on("keydown", function(e){
       var code = e.keyCode;
        if(code == 88){
         alert("X Pressed");   
        }}) ;