Похоже, в вашем коде есть синтаксическая ошибка. const current = audios[Number(event.key)
отсутствует закрывающее ]
.
Вот как я бы подошел к нему.
const pressedKeys = {};
$(document.body).keydown(function (evt) {
pressedKeys[Number(evt.key)] = true;
playSongs(pressedKeys);
});
$(document.body).keyup(function (evt) {
pressedKeys[Number(evt.key)] = false;
});
function playSongs(dict) {
for (let song in dict) {
if (dict[song] === true) {
audios[song].currentTime = 0;
audios[song].play();
}
}
}
Этот код отслеживает ключи в словаре. Всякий раз, когда keydown
зарегистрирован, он добавляет его в словарь. Сразу после этого playSongs
находит все клавиши, которые являются истинными, и воспроизводит эту песню.