首页 > 解决方案 > 我的数字按键功能非常奇怪

问题描述

我正在做按键事件,对于空格键来说效果很好,但是如果我尝试添加数字,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();

我的期望是按键 48 触发 1,触发 49 触发 2,触发 52 触发 3,触发 50 触发 4!这些数字可以更改我只想在按键时执行该功能

标签: javascriptjquery

解决方案


您可能不需要多个if您可以在不使用if和获取键入的字符并将该值传递给 jquery 选择器的情况下执行此操作

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

推荐阅读