2010-03-18 5 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 역시 다소 흥미 롭습니다. 나는 처음에 그것을 줬다. 문제는 릴리스 이벤트를 지원하지 않는다는 것입니다. 그렇지 않으면 멋진 라이브러리처럼 보입니다. –

관련 문제