我正在通过 javascript 设计键盘界面,并且我想定义击键组合,例如 shift+rightkey 或 ctrl+tab。但是在修改了 javascript 之后,如这里所见,我注意到所有的键事件都在中断。在提供的示例中,如果您在按住右键的同时按 shift 键,则右键的功能会中断!
v = 1; /*v is the variable of velocity.*/
window.addEventListener("keydown", function(event)
{
if(event.keyCode == 39) /*39 is the keycode of rightarrowkey.*/
{
//moves an element by the velocity.
var keystroke = document.getElementById("keystroke");
keystroke.style.left = parseInt(keystroke.style.left.slice(0,-2))+v+"px";
}
if(event.keyCode == 16) /*16 is the keycode of shift.*/
{
//increases the velocity of the element by four.
document.getElementById("keystroke").style.borderColor = "red";
v = 4;
}
}, false); //but hitting the shiftkey while hitting the rightkey interrupts..!
我还尝试通过一个对象记录所有击键,然后以指定的时间间隔对定义的击键进行迭代,如此处所示。但是这个处理键盘的系统并没有保留单独的击键;如果我击键太快,可能不会考虑,或者如果我按住键太久,可能会过度考虑!