我正在制作一个游戏菜单,并且其中有一个控件菜单,该控件菜单包含一个带有控件名称,主键和辅助键的表。我将所有主键和辅助键元素的onclick
属性设置为onclick="keyBinds(event)"
在js文件中,我有以下内容:
function keyBinds(event) {
let sources = event.target || event.srcElement; // to get the HTML Node Object of the clicked button
let source = sources.className; // to determine which button was clicked
}
我要实现的是单击一个按钮后,它等待一个按键事件,以便在按下某个键时,为所选控件(source
)设置新的键。
我考虑使用async / await,但是如果尚未收到按键输入,并且用户单击另一个按钮,则等待的按键输入将堆叠起来,并且会导致错误,因此我宁愿执行同步操作会“暂停”(或阻止)js执行,直到接收到输入为止,从而防止输入堆栈。