gpt4 book ai didi

javascript - jQuery 按键事件监听器无法识别按键输入

转载 作者:行者123 更新时间:2023-12-01 03:57:34 26 4
gpt4 key购买 nike

我有一个项目,如果您按某个键,就会播放声音,并且屏幕上的按钮会出现动画。但是,当我按下按键时什么也没有发生。

这是我的事件监听器。

$("document").on("keydown", function(event) {
makeSound(event.key);
buttonAnimation(event.key);
});

这是代码查看的内容,以确定根据按下的键来执行操作。

function makeSound(key) {

switch (key) {
case "w":
var tom1 = new Audio("sounds/tom-1.mp3");
tom1.play();
break;

case "a":
var tom2 = new Audio("sounds/tom-2.mp3");
tom2.play();
break;

case "s":
var tom3 = new Audio('sounds/tom-3.mp3');
tom3.play();
break;

case "d":
var tom4 = new Audio('sounds/tom-4.mp3');
tom4.play();
break;

case "j":
var snare = new Audio('sounds/snare.mp3');
snare.play();
break;

case "k":
var crash = new Audio('sounds/crash.mp3');
crash.play();
break;

case "l":
var kick = new Audio('sounds/kick-bass.mp3');
kick.play();
break;


default: console.log(key);

}
}


function buttonAnimation(currentKey) {

var activeButton = $("." + currentKey);

activeButton.addClass("pressed");

setTimeout(function() {
activeButton.removeClass("pressed");
}, 100);

}

我做错了什么,事件监听器没有接收到按键事件?我已正确导入 jQuery。

最佳答案

如果要将事件处理程序附加到文档本身,则必须使用 $(document).on("keydown", function(event) {...}) .

要获取按下的键,请使用 event.originalEvent.key .

$(document).on("keydown", function(event) {
makeSound(event.originalEvent.key);
buttonAnimation(event.originalEvent.key);
});

关于javascript - jQuery 按键事件监听器无法识别按键输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61726665/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com