2011-01-04 2 views

답변

3

나는 keyCode가 다르다고 생각하지 않습니다.

e.ctrlKey을 사용하면 컨트롤 키를 눌렀는지 확인할 수 있습니다.

플래시 can not tell which one is pressed (그 중 하나 또는 잘못 코딩 된 것 같습니다).

+0

그들은 추상화되어 있습니다. 예 : 우분투 키보드 설정에서 각기 다른 옵션을 선택할 수 있습니다. –

+0

두 레벨을 구별하는 소프트웨어를 낮은 레벨에서 작성할 수 있으므로 하드웨어 레벨에서 추상화 할 수 없습니다. 그것은 아마도 OS 레벨에서 추상화되어있을 것입니다. –

+0

MSIE는 왼쪽 및 오른쪽 Ctrl 키를 구별 할 수 있습니다. 그 점에 대한 내 대답을 참조하십시오. 유용한 정보는 –

6

간단한 참고 사항 : 올바른 컨트롤 키를 사용할 수 있는지 아키텍처/디자인을 기반으로하지 않습니다. 많은 노트북 키보드에는 두 개의 컨트롤 키가 없을 수 있습니다.

+1

+1입니다. – alex

1

MSIE는 대부분의 이벤트에서 ctrlLeft 속성을 제공합니다. 속성 값은 다음과 같습니다

왼쪽 키 왼쪽 키를 누를되지 않은 경우 이벤트
  • false 중에 누르면 경우
    • true.

    당신이 바로 Ctrl 키를 누른 있는지 확인 event.ctrlKeyevent.ctrlLeft을 결합 할 수 있습니다 :

    if (event.ctrlKey) { 
        if (event.ctrlLeft) { 
         // left Ctrl key pressed 
        } else { 
         // right Ctrl key pressed 
        } 
    } else { 
        // no Ctrl key pressed 
    } 
    

    참고 Ctrl 키를 더 이상 누르지 때문에 keyupctrlLeft 속성이 정의되지 않았 음.

    MSIE7 및 MSIE9에서 테스트되었습니다. Firefox에서는 작동하지 않습니다.

    자세한 내용은 http://help.dottoro.com/ljqlvhuf.php을 참조하십시오. 당신은 당신이 동일한 키가 모두 (17)를 사용 찾을 수를 추적하는 경우

  • +0

    안타깝게도 IE의 경우에만 그리 유용하지는 않습니다. – alex

    1

    .. 나는이이 질문을 받았다 때 사용할 수 있다면

    1

    내가 모르는 구별하는 것은 불가능하다 생각하지만, 너 수 있습니다뿐만 아니라 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

    1

    그것은 바로 한 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 
        } 
    } 
    
    관련 문제