2010-03-18 101 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