javascript - 我的数字按键功能非常奇怪

标签 javascript jquery

我正在做按键事件,这对于空格键来说工作得很好,但是如果我尝试添加数字,1,2,3工作正常,但是一旦我添加4,它就完全开始做奇怪的事情,例如4个触发器3,3个触发器2、2 个触发器 1 或 4 个触发器 2 和 3 没有触发任何内容,2 个触发器 1,我在过去的几个小时里一直在寻找。 我知道我当前的代码数字组合不正确,但我已经尝试过48,49,50,51

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

$(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!这些数字可以更改我只想在按下该键时执行该功能

最佳答案

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

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

关于javascript - 我的数字按键功能非常奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54664878/

相关文章:

javascript - 动态添加的 div 溢出其容器

javascript - 如何在没有 Jquery 的情况下使用 i18next

javascript - 使用 polymer 核心页面,根据 url #fragment 选择正确的页面

基于 "string"种子的数组的 Javascript 任意元素

javascript 将字符串连接到对象

jQuery `.is(":visible")` not working in Chrome

javascript - Sails.js + ES6 : What is the best architecture?

JavaScript/jQuery Promise 链

javascript - 获取父行并在 JQuery 中找到一个元素

jquery - 用于出生日期文本框的日期选择器插件