키를 개체 위에서 눌렀을 때 발생한다.


이벤트 속성
object.onkeydown=handler JScript 만-
object.onkeydown=GetRef('handler') VBScript 5.0-
인라인 HTML <ELEMENT onkeydown ="handler"> 모든 플랫트폼
명명된 스크립트 <SCRIPT for=object event=onkeydown> Explorer-
용법
이벤트가 발생되면 'JavascriptCode'를 실행한다.
Javascript 에서는
objName.onkeydown='JavascriptCode'
HTML 에서는
<ELEMENT onKeyDown="JavascriptCode">
이벤트 특성
Bubbles 있슴
취소 가능
발생 원인 키보드를 눌렀을 때.
디폴트 작용 눌린 키의 keyCode를 지정하는 수치를 반환한다.
HTML 규격 HTML 4.0 규격

DHTML 개체 모델에서 이벤트처리자는 파라메터들을 직접 받지는 못해도, event개체의 쿼리를 사용할 수 있다.

altKey ALT 키가 눌렸는가를 반환하거나 설정한다.
altLeft 왼쪽 ALT 키가 눌렸는가를 반환하거나 설정한다.
cancelBubble 현재 이벤트가 이벤트처리자들의 계통도에서 버블업(bubble up)하여야 하는가를 반환하거나 설정한다.
clientX 윈도우 장식과 스크롤바를 제외한 사용자 지역에 상대적 마우스포인터 수평 좌표를 반환하거나 설정한다.
clientY 윈도우 장식과 스크롤바를 제외한 사용자 지역에 상대적 마우스포인터 수직 좌표를 반환하거나 설정한다.
ctrlKey CTRL 키가 눌렸는가를 반환하거나 설정한다.
ctrlLeft 왼쪽 CTRL 키가 눌렸는가를 반환하거나 설정한다.
offsetX 이벤트가 발생된 개체에 마우스포인터의 상대적인 위치(오프세트) 수평 좌표를 반환하거나 설정한다.
offsetY 이벤트가 발생된 개체에 마우스포인터의 상대적인 위치(오프세트) 수직 좌표를 반환하거나 설정한다.
repeat onkeydown 이벤트가 반복될 것인가를 반환하거나 설정한다.
returnValue 이벤트로 부터의 반환값을 반환하거나 설정한다.
screenX 사용자 스크린에 상대적인 마우스포인터의 수평 위치를 반환하거나 설정한다.
screenY 사용자 스크린에 상대적인 마우스포인터의 수직 위치를 반환하거나 설정한다.
shiftKey SHIFT 키가 눌렸는가를 반환하거나 설정한다.
shiftLeft 왼쪽 SHIFT 키가 눌렸는가를 반환하거나 설정한다.
srcElement 이벤트를 발생시킨 개체를 반환하거나 설정한다.
type 이벤트 개체의 이벤트 명칭을 반환하거나 설정한다.
x 상대적으로 위치한 모체 개체에 상대적인 위치 수평 좌표를 반환하거나 설정한다.
y 상대적으로 위치한 모체 개체에 상대적인 위치 수직 좌표를 반환하거나 설정한다.
사용 가능 키(key)

onkeydown 이벤트는 다음 키에서 발생한다:

구분 IE4.0 IE5
사용 가능사용 가능 추가onkeydown 취소 가능키
(event.returnValue=false)
글자 A ~ Z a ~ z   A ~ Z a ~ z
수치 0 ~ 9   0 ~ 9
펑션 F1 ~ F12    
기호 ! @ # $ % ^ & * ( ) _ - + = < [ ]{ }, . / ? \ | ' ` " ~   ! @ # $ % ^ & * ( ) _ - + = < [ ]{ }, . / ? \ | ' ` " ~
시스템 ESC, SPACEBAR, SHIFT, TAB SHIFT+TAB SPACEBAR, ESC, TAB, SHIFT+TAB
편집 DELETE, INSERT BACKSPACE BACKSPACE, DELETE
항해 HOME, END, LEFT ARROW, RIGHT ARROW, UP ARROW, DOWN ARROW PAGE UP, PAGE DOWN PAGE UP, PAGE DOWN, END, HOME, LEFT ARROW, RIGHT ARROW, UP ARROW, DOWN ARROW

HTML Applications에서는 ALT+F4와 같은 가속키를 포함하여 onkeydown 이벤트에서 발생된 모든 키를 취소할 수 있다.

IE4.0에서 onkeydown 이벤트의 키를 취소할 수 없으나, onkeypress 이벤트에서는 취소할 수 있으므로 사용할 수 있다.

특기

onmousedown, onmouseup 이벤트에서와 거의 같은데 onkeydown 이벤트는 마우스가 아니라 키보드(자판)에서 키를 눌렀을 때 발생되고, onkeyup 이벤트는 키보드 누름을 해제했을 때 발생되는 것만 다르다.

onkeypress 이벤트도 onclick 이벤트와 유사하고, 마우스 클릭 대신에 자판 누름이 되었는가에 따라서 이벤트가 발생되는 것만 다르다.

onkeydown 이벤트는 키를 누르기 전에 해당 개체에 포커스를 주어야 한다.
BODY에서 설정하면 개체가 전체 문서에 해당하므로 아무데서나 키를 눌러도 이벤트가 발생된다.
키보드 입력 방지할 때 등에 사용할 수 있다.

적용
개체scriptHTMLIE


onkeydown, onkeyup 이벤트 예제

포커스를 주고, 자판을 눌렀다 떼어 보라

자판을 누르고 있으면(onkeydown)은 노랑색 배경이 나타나고, 놓으면(onkeyup) 하늘색 배경이 나타난다.

<DIV onKeyDown="this.style.backgroundColor='#ffff00'" onKeyUp="this.style.backgroundColor='#00ffff'"
  style="width:300;border:solid 1 blue;padding:4px">포커스를 주고, 자판을 눌렀다 떼어 보라</DIV>

onkeydown 이벤트 예제

초점을 주고 키 입력 해 보라.
<STYLE>
.showClass{border:solid 1 blue;height:1.2em;padding:3;width:550}
</STYLE>
<SCRIPT>
cnt=1;
function showKey(){
  event.returnValue=false;
  if (cnt%20==0){
    cnt=1;
    showChar.innerHTML+='<BR>';
    showCode.innerHTML+='<BR>';
  }
  cnt++;
  showCode.innerHTML+='('+event.keyCode+')';
  showChar.innerHTML+='('+String.fromCharCode(event.keyCode)+') ';
}
</SCRIPT>
초점을 주고 키 입력 해 보라. <INPUT id="textObj" type="text" onkeydown="showKey()"
  onFocus="this.style.backgroundColor='cfc'" onBlur="this.style.backgroundColor='fff'">
<DIV id="showChar" class="showClass"></DIV>
<DIV id="showCode" class="showClass"></DIV>