2014-12-18 7 views
1

특정 입력에 집중할 때 "ctrl + e"와 같은 조합 키 조합을 누르십시오. 입력란에 "Ctrl + e"를 표시하고 싶습니다.javascript 키보드 입력 감지 방법

다음에 사용자가 다른 조합 키를 누르면 입력을 지우고 새 키를 표시합니다.

어떻게하면됩니까? 일부 javascript 플러그인을 찾으십니까? 하지만 특정 입력을 감지하는 데 가장 많이 사용됩니다. 이 같은

: https://github.com/OscarGodson/jKey

$("input").jkey("i",function(){ 
    jkey.log("You pressed the i key inside of an input."); 
}); 

고마워요.

+0

onkeypress 또는 onkeydown을 청취해야합니다. 참조이 대답을] (http://stackoverflow.com/a/14562869/1264548) – edamon

답변

0

일부 브라우저는 Ctrl 키를 누르는 것을 허용하지 않습니다. 나머지는 작동합니다.

$(document).keypress(function(e) { 
    var ch = String.fromCharCode(e.charCode); 
    if(e.ctrlKey){ 
     console.log('cntrl+'+ch+' was pressed'); 
    }else{ 
     console.log(ch+' was pressed'); 
    } 
}); 
+1

대단히 감사합니다 :) 당신은 내 질문을 해결했습니다. – kathy

2

또 다른 방법 (어떤 플러그인이 필요하지 않습니다) 그냥 전달 가져옵니다 event object의 .ctrlKey 속성을 사용하는 Ctrl 키 이벤트의 시간에 누를 경우를 나타냅니다, 같은 :.

$(document).keypress("c",function(e) { 
    if(e.ctrlKey) 
    alert("Ctrl+C was pressed!!"); 
}); 

업데이트

$(document).on('keypress','input',function(e){ 
    if (e.ctrlKey && (String.fromCharCode(e.which) === 'c' || String.fromCharCode(e.which) === 'C')) { 
     console.log("You pressed CTRL + C"); 
    } 
}); 
+0

나는이 방법을 사용하면 입력하면 사용자가 무엇을 누르면 잘 모르겠다, 나는 모든 종류의 많은 기능을 작성해야 가능한 입력의? – kathy

+0

업데이트 된 답변 확인 –

+0

감사합니다. 정말 도움이됩니다. – kathy