2013-03-02 7 views
2

텍스트 입력이 있습니다. CTRL-V 일 때 이벤트를 바인드해야합니다. I는 keydown이 두 존재하는 keyup가 17자바 스크립트에서 왼쪽 및 오른쪽 컨트롤 키를 감지합니다.

과제 which 값 소성 때 0을 만들어 마찬가지로 17의 which 값 발사 될 때마다 1로 설정 ctrl라는 전역 변수를 설정 CTRL 키. 그래서 내가 먼저 CTRL 키를 누른 채 누를 때 CTRL 키를 누르십시오. (따라서 CTRL 키를 모두 누름) keyup이 실행됩니다. 다른 CTRL 키를 계속 누르고 있어도 변수 ctrl은 0으로 설정됩니다.

CTRL 키가 모두 켜져있는 경우에만 변수가 0으로 설정되도록 이벤트를 발생시키는 방법은 무엇입니까 (정확하게 구분할 필요는 없습니다).

답변

-2

이를 사용할 수 있습니다

$('#inputboxinput').bind('keypress', function(e) { 
if(e.keyCode==13){ 
    // Enter pressed... do anything here... 
} 

을});

크로스 브라우저 방식 :

if (!event.which && ((event.charCode || event.charCode === 0) ? event.charCode: event.keyCode)) { 
    event.which = event.charCode || event.keyCode; 
} 
+0

질문을 읽었습니까? 게다가, jQuery는 이미'event.which'를 내장하고 있습니다. 다시 발명 할 필요는 없습니다. – JJJ

+0

음, 좀 더 자세히 설명해 주시겠습니까? 나는 그것이 효과가 있다고 생각하지 않는다 ... – SexyBeast

-1

아래의 keyup 이벤트 세 가지 마우스에 대한 답변입니다. 마우스 휠에 대한 나머지 다시 요청해야합니다 :

난 당신이 저수준에 쓰기하지 않는 한 그위한 방법이라고 생각하지 않습니다
/* 
1 = Left Mousebutton 
2 = Centre Mousebutton 
3 = Right Mousebutton 
*/ 

$(document).mousedown(function(e) { 
if (e.which === 3) { 
    /* Right Mousebutton was clicked! */ 
    alert("right key code 3"); 
} 
else if(e.which === 2) { 
    alert("Centre key code 2"); 
} 
else if(e.which === 1) { 
    alert("Left key code 1"); 
} 
}); 
+1

신중하게 질문을 읽으십시오. – SexyBeast

0

... 키 코드 (이 17)

모두 동일 단지 컨트롤 키가 눌러 졌는지 확인하는 방법으로 e.ctrlKey를 사용할 수 있습니다.

그러나 나는 주위를 읽고 당신이 IE에서 그렇게 할 수있는 언급 one answer을 발견하지만를 keyDown 이벤트의 두 가지 속성이 있습니다

1

내 옆에서 그것을 시도하지 않았다. 당신은

if (e.location == 1 || e.keyLocation == 1) { 
    var keyPosition = 'left'; 
} else if (e.location == 2 || e.keyLocation == 2) { 
    var keyPosition = 'right'; 
} 
1

Update를 사용하여 왼쪽과 오른쪽 Ctrl 키를 구별 할 수 있습니다이 최신 브라우저

자바 스크립트

를 왼쪽과 오른쪽 컨트롤 키를 감지하는 가장 쉬운 방법은 지금 가능하다

$(document).ready(function(){ 
 
    $("html").keydown(function(e) { 
 

 
     if (e.ctrlKey) { 
 
     if (event.location == 1) console.log('left ctrl'); 
 
     if (event.location == 2) console.log('right ctrl'); 
 
     } 
 

 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

참고 : 키보드 스 니펫을 실행하여 키보드 키를 활성화하려면 안쪽 여백을 클릭해야합니다. 이 기능은 Chrome 및 Safari에서 테스트되었습니다.