如何使用JavaScript添加调用另一个onkeyup函数的函数?
所以基本上我有一个小网站,就像一个鼓套件。我希望它在单击屏幕上的元素时播放声音,然后我还希望在我按下相应的数字键盘键时能够“单击”相同的屏幕上的元素 当我点击它的时候,它就开始播放了,我就是不能让onkeyup函数工作如何使用JavaScript添加调用另一个onkeyup函数的函数?,javascript,arrays,audio,onkeyup,Javascript,Arrays,Audio,Onkeyup,所以基本上我有一个小网站,就像一个鼓套件。我希望它在单击屏幕上的元素时播放声音,然后我还希望在我按下相应的数字键盘键时能够“单击”相同的屏幕上的元素 当我点击它的时候,它就开始播放了,我就是不能让onkeyup函数工作 const sounds = document.querySelectorAll('.sound'); const drumPads = document.querySelectorAll('.drumpadContainer'); const keycodes =[
const sounds = document.querySelectorAll('.sound');
const drumPads = document.querySelectorAll('.drumpadContainer');
const keycodes =[
49,
50,
51,
52,
53,
54
]
//Can i make sound??
drumPads.forEach((drumpad, index) => {
drumpad.addEventListener('click', function() {
console.log("You clicked a button");
sounds[index].currentTime = 0;
sounds[index].play();
})
drumpad.addEventListener('onkeyup', function() {
if (onkeyup == keycodes[index]){
drumPads[index].click();
}
})
});
})
keyup
处理程序应该在窗口上。它应该获取键代码的索引,然后使用该索引获取要单击的相应元素的索引
window.addEventListener("keyup", function(e) {
var index = keycodes.indexOf(e.keyCode);
if (index > -1) {
drumPads[index].click();
e.preventDefault();
e.stopPropagation();
}
}
事件的名称只是keyup
,而不是onkeyup
。但它们没有在drumpad
元素上键入。因此,如果我理解正确,要正确执行此操作,我需要执行window.eventlistener?,然后询问event.keyup==keycodes[index]?对不起,我是新来的:/阅读我的答案以正确理解。这正是需要的。非常感谢,顺便说一句,你的答案中有一个小错误。drumpads[index]。单击();
应该是:drumpads[index]。单击();