본문 바로가기

프로그램/javascript

[javascript]keycode 에 해당하는 글자를 화면에 출력하기

반응형

목적

event 에서 key 입력시 발생하는 keycode를 실제 해당하는 값으로 변환한다.


내용

String.fromCharCode(keyCodeVal...) 을 이용함


argument 로 여러개의 keycode를 넣을 경우 각 keycode의 문자를 합친 문자열을 반환함


샘플코드

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">

<title>키코드에 해당하는 값 출력</title>

<script type="text/javascript">

window.onload=function() {

document.getElementById('inputTxt').onkeydown=function(e) {

e=window.event||e;

var kc=e.keyCode||e.which;

if( (kc>=48 && kc<=57) /*0-9*/ 

|| (kc>=65 && kc<=90) /*A-Z*/ 

|| (kc>=96 && kc<=105) /*numpad 0-9*/

) {

var val='';

if(kc>=96) { //numpad 의 경우 강제로 숫자값으로 변환

kc=kc-48;

}

val=String.fromCharCode(kc);

document.getElementById('output').innerText=document.getElementById('output').innerText+val;

}

};

};

</script>

</head>

<body>

<h1>키코드에 해당하는 값 출력</h1>

<ul>

<li>입력:<input id="inputTxt" type="text"></li>

<li>출력:<span id="output"></span></li>

</ul>

</body>

</html>