2011-09-05 1 views
3

기본 HTML5를 사용하여 드래그 할 수있는 요소가 있습니다. dragstart, drag 및 dragend 이벤트 리스너가 할당되어 있습니다. 또한 document.body 요소에 지정된 keydown 및 keyup 이벤트 리스너도 있습니다.HTML5 네이티브 드래그 중 keydown/up 이벤트 감지

드래그 할 수있는 요소를 드래그하면 ondrag 이벤트가 예상대로 실행됩니다. & 키를 눌렀을 때 아무것도 끌지 않으면 document.body keydown/up 이벤트가 발생합니다.

그러나 ondrag를 수행하는 동안 필자가 keydown/up하면 document.body keydown/up 이벤트가 실행되지 않습니다. 거기에 어떤 해결 방법/해킹이 있나요?

+0

예제/바이올린을 제공 할 수 있습니까? –

+0

여기 있습니다 : http://jsfiddle.net/SVArR/ – woran

+0

열심히 노력했지만 웹킷 브라우저에서는 일반적인 드래그 이벤트 중에 키 이벤트를 사용할 수 없습니다. 이러한 이벤트를 바인딩하지 않더라도 키 이벤트는 등록되지 않습니다. –

답변

0

Drag Operations - MDN에서 ... 내 자신의 질문에 대답 :

을의 dragEnter과로 dragOver 이벤트로, dropEffect를 속성은 사용자가 요청하는 효과로 초기화 입니다. 사용자는 변경 키를 눌러 원하는 효과를 수정할 수 있습니다. 정확히 사용되는 키는 플랫폼에 따라 다르지만 일반적으로 Shift 키와 Control 키 은 복사, 이동 및 연결 사이를 전환하는 데 사용됩니다.

HTML5 기본 끌기에서 아무 것도 트리거 할 수있는 유일한 키 누르기는 한정자 키입니다. Mac에서는 옵션 키와 컨트롤 키입니다. 액션은 키 누르기 또는 keydown 이벤트가 아닌 event.dataTransfer.effectAllowed 이벤트를 통해 캡처됩니다.