javascript - 我的数字按键功能非常奇怪
问题描述
我正在做按键事件,对于空格键来说效果很好,但是如果我尝试添加数字,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!这些数字可以更改我只想在按键时执行该功能
解决方案
您可能不需要多个if
您可以在不使用if
和获取键入的字符并将该值传递给 jquery 选择器的情况下执行此操作
$(window).keypress(function(e) {
let code = String.fromCharCode(e.which || e.keyCode);
console.log(code)
$(".pokeball:nth-of-type("+code +")").click();
})
推荐阅读
- python - Google 自定义搜索 JSON API 日期过滤器未返回预期结果?
- javascript - 在我们的项目中在 react js 中使用样式表的最佳方法是什么?
- tensorflow - TensorFlow 可以进行增量学习吗?
- javascript - 点击时 jQuery/JS 停止循环 setTimeout
- python - 如何找出我需要解开文件的 pandas/pickle 版本?
- google-cloud-platform - 如何在不丢失任何数据的情况下将 Windows 实例从 Azure 迁移到 Compute Engine
- python - 如何只读取包含名称 i 的第一列的行
- node.js - 为什么 VueJS 不运行生产构建?
- amazon-web-services - 如何按计划分离和附加 EBS 卷
- r - 通过考虑 r 中的舍入将毫秒转换为 hh:mm 格式