2010-03-18 122 views
0

我只是在使用HTML5画布和绘画进行一些操作。我偶然发现了Opera的this article,它描述了如何设置一个简单的应用程序。如何在HTML5画布上绘画时检查键盘状态?

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

是否有某种方法检查用户在处理“mousedown”事件时按下了哪个键?

回答

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

+0

谢谢!你指出我正确的方向。 我结束了使用“window.onkeydown”和“window.onkeyup”处理程序。我不确定这是否是最佳解决方案,但在这种情况下似乎可以正常工作。 shortcut.js看起来也有些有趣。我最初放弃了它。问题是它不支持发布事件。否则,它看起来像一个很酷的库。 – 2010-03-18 16:30:31