我的数字按键功能很奇怪

时间:2019-02-13 07:39:27

标签: javascript jquery

我正在执行按键事件,对于空格键来说,它工作得很好,但是如果我尝试添加数字,则1,2,3可以正常工作,但是一旦我添加4,它就完全开始变得很奇怪,例如4个触发器3、3个触发器2,2个触发器1或4个触发器2和3没有任何触发器,2个触发器1,我一直在搜索过去的时间 我知道我目前的密码组合不正确,但我已经尝试过48、49、50、51

我已经尝试用ID替换类,但是不起作用,我还尝试了几种不同的数字组合

$(window).keypress(function(e) {
    if (e.which === 32) {
        $("button").click();
    }
});
$(window).keydown(function(e) {
    if (e.which === 48) {
        $(".pokeball:nth-of-type(1)").click();
    }
});
$(window).keydown(function(e) {
    if (e.which === 49) {
        $(".pokeball:nth-of-type(2)").click();
    }
});
$(window).keydown(function(e) {
    if (e.which === 52) {
        $(".pokeball:nth-of-type(3)").click();
    }
});
$(window).keydown(function(e) {
    if (e.which === 50) {
        $(".pokeball:nth-of-type(4)").click();
我的期望是按下1触发的按键48,按下2的触发49,按下3的触发52和按下4的触发50!这些数字可以更改,我只希望功能在按下键时执行

1 个答案:

答案 0 :(得分:1)

您可能不需要多个if,而无需使用if即可获取输入的字符并将该值传递给jquery选择器

$(window).keypress(function(e) {
      let code = String.fromCharCode(e.which || e.keyCode);
      console.log(code)
      $(".pokeball:nth-of-type("+code +")").click();
    })