如何在HTML5画布上绘画时检查键盘状态?

时间:2010-03-18 10:43:31

标签: javascript javascript-events html5 canvas

我只是在使用HTML5画布和绘画。我偶然发现Opera的this article描述了如何设置一个简单的应用程序。

我想扩展它,以便用户可以设置可用于约束绘画的消失点(1点透视)。为了实现这一点,我需要找出一种方法来定义一些修饰键以限制结果(即约束映射为(key =>轴)a => x,s => y,d => z)

有没有办法检查用户在处理“mousedown”事件时按下了哪个键?

1 个答案:

答案 0 :(得分:3)

AFAIK只有在文档具有焦点时才会起作用。

你应该为参加按键事件的主体添加一个监听器,当它被触发时,你将它存储在一个变量中,当用户触发密钥释放时将其存放,例如:

document.body.onkeydown=function(evt){evt=evt?evt:window.event;console.log(evt)};
document.body.onkeyup=function(evt){evt=evt?evt:window.event;console.log(evt)};

然后你应该识别evt.keyCode并使用它。

您也可以尝试第三方库,例如shortcut.js