자바에서 이벤트 리스너가 있는데 키 이벤트가 Ctrl (e.keyCode == 17)
인지 여부는 알 수 있지만이 Ctrl 키가 올바른 키인지 또는 왼쪽 키인지 알 수 있습니까?오른쪽 Ctrl 키에서 이벤트가 오는지 어떻게 알 수 있습니까?
답변
나는 keyCode가 다르다고 생각하지 않습니다.
e.ctrlKey
을 사용하면 컨트롤 키를 눌렀는지 확인할 수 있습니다.
플래시 can not tell which one is pressed (그 중 하나 또는 잘못 코딩 된 것 같습니다).
그들은 추상화되어 있습니다. 예 : 우분투 키보드 설정에서 각기 다른 옵션을 선택할 수 있습니다. –
두 레벨을 구별하는 소프트웨어를 낮은 레벨에서 작성할 수 있으므로 하드웨어 레벨에서 추상화 할 수 없습니다. 그것은 아마도 OS 레벨에서 추상화되어있을 것입니다. –
MSIE는 왼쪽 및 오른쪽 Ctrl 키를 구별 할 수 있습니다. 그 점에 대한 내 대답을 참조하십시오. 유용한 정보는 –
간단한 참고 사항 : 올바른 컨트롤 키를 사용할 수 있는지 아키텍처/디자인을 기반으로하지 않습니다. 많은 노트북 키보드에는 두 개의 컨트롤 키가 없을 수 있습니다.
+1입니다. – alex
MSIE는 대부분의 이벤트에서 ctrlLeft
속성을 제공합니다. 속성 값은 다음과 같습니다
false
중에 누르면 경우
true
.
당신이 바로 Ctrl 키를 누른 있는지 확인 event.ctrlKey
및 event.ctrlLeft
을 결합 할 수 있습니다 :
if (event.ctrlKey) {
if (event.ctrlLeft) {
// left Ctrl key pressed
} else {
// right Ctrl key pressed
}
} else {
// no Ctrl key pressed
}
참고 Ctrl 키를 더 이상 누르지 때문에 keyup
의 ctrlLeft
속성이 정의되지 않았 음.
MSIE7 및 MSIE9에서 테스트되었습니다. Firefox에서는 작동하지 않습니다.
자세한 내용은 http://help.dottoro.com/ljqlvhuf.php을 참조하십시오. 당신은 당신이 동일한 키가 모두 (17)를 사용 찾을 수를 추적하는 경우
안타깝게도 IE의 경우에만 그리 유용하지는 않습니다. – alex
.. 나는이이 질문을 받았다 때 사용할 수 있다면
내가 모르는 구별하는 것은 불가능하다 생각하지만, 너 수 있습니다뿐만 아니라 alt와 교대, 왼쪽에서 오른쪽으로 Ctrl을 구별. 이제 KeyboardEvent.DOM_KEY_LOCATION_ * 속성을 사용하여이 구분을 만들 수 있습니다.
나는 크롬 구현에 결함이 나타나는 것을 발견, Can javascript tell the difference between left and right shift key?
그래도주의를 참조하십시오. How can I distinguish left- and right- shift, ctrl, and alt keys onkeyup in Chrome with Javascript
그것은 바로 한 2 1이됩니다 왼쪽 Ctrl 키에 대한 event.location
속성이있다, 당신은 당신이 할 수없는 canIuse
if (e.which == 17) {
if (event.location == 1) {
// left ctrl key
} else if (event.location == 2) {
// right ctrl key
}
}
- 1. C에서 목록 상자의 오른쪽 클릭 이벤트를 어떻게 알 수 있습니까?
- 2. 일련의 마지막 일련의 이벤트가 발생했는지 어떻게 알 수 있습니까?
- 3. GTK + 신호에 어떤 GDK 이벤트가 필요한지 어떻게 알 수 있습니까?
- 4. onmousedown 이벤트가 링크로 설정되었음을 어떻게 알 수 있습니까?
- 5. 어떻게 알 수 있습니까?
- 6. 마우스에서 leftclick을 감지 할 수 있습니까? 또는 Ctrl + 오른쪽 클릭?
- 7. 어떻게 Ctrl-Alt-Tab을 연결할 수 있습니까?
- 8. mapView가로드되었는지 어떻게 알 수 있습니까?
- 9. 복합 키에서 어떻게 필터합니까?
- 10. 변수가 비공개인지 어떻게 알 수 있습니까?
- 11. 공개 키에서 내부 키로 액세스 한정자를 어떻게 바꿀 수 있습니까?
- 12. 예외가있을 수 있음을 어떻게 알 수 있습니까?
- 13. 반사경을 사용하면 코드에서 속성이 어떻게 사용되는지를 어떻게 알 수 있습니까?
- 14. .NET : 직렬화가 완료되면 어떻게 알 수 있습니까?
- 15. 앱이 해킨토시에서 실행 중인지 어떻게 알 수 있습니까?
- 16. Silverlight 컨트롤이 표시되었음을 어떻게 알 수 있습니까?
- 17. TransactionScope 연결이 등록되었는지 어떻게 알 수 있습니까?
- 18. 드라이브에 플로피가 있는지 어떻게 알 수 있습니까?
- 19. 서버가 SSL을 지원하는지 어떻게 알 수 있습니까?
- 20. 사용자가 Exposé 모드인지 어떻게 알 수 있습니까?
- 21. PHP : 함수의 호출자를 어떻게 알 수 있습니까?
- 22. 돋보기가 UIWebView에 나타나면 어떻게 알 수 있습니까?
- 23. UITableViewCell이 선택되었는지 어떻게 알 수 있습니까?
- 24. 프로그램이 무엇을하는지 어떻게 알 수 있습니까?
- 25. Android 활동이 완료되면 어떻게 알 수 있습니까?
- 26. iPhone 다운로드가 완료되면 어떻게 알 수 있습니까?
- 27. UIView가 완전히 숨겨지면 어떻게 알 수 있습니까?
- 28. Cleacase는 디렉토리가보기임을 어떻게 알 수 있습니까?
- 29. Android GPU 사용법은 어떻게 알 수 있습니까?
- 30. 장고는 사용자가있는 위치를 어떻게 알 수 있습니까?
에 브라우저 지원을 확인할 수 있습니다 참조하십시오. 죄송 해요. 나는 너의 고통을 느낀다. – zzzzBov