1. 역시 가장 좋은 방법은
objEvtMap[ id+evt ]=function(evt,element)
2. 이벤트 바인드
function bindEvent_4_dataBlock() { var arr=$("#table1 li"); arr.each(function(index, element) { $(element).keypress(function(){ alert('keypress'); }); var id="data_aid_"+index; $(element).attr("id","data_aid_"+index); objEvtMap[ id ]=function(evt,element) { if(evt=="down") key_press_hadler($(element)); if(evt=="up") key_press_hadler4up($(element)); if(evt=="left") {}; if(evt=="rit") {} }; }); }
이벤트 파견
document.onkeydown=function(event){ var e = event || window.event || arguments.callee.caller.arguments[0]; alert("keycode:"+e.keyCode); if(e && e.keyCode==40 ){//下 //alert('40=下键,39=右键'); var now=$(".selected"); var id=$(now).attr("id"); var func=objEvtMap[id ]; func("down",now); //key_press_hadler(now); return false; }
js에서 키보드 이벤트 가져오기
<script type="text/javascript" language=JavaScript charset="UTF-"> document.onkeydown=function(event){ var e = event || window.event || arguments.callee.caller.arguments[]; if(e && e.keyCode==){ // 按 Esc //要做的事情 } if(e && e.keyCode==){ // 按 F //要做的事情 } if(e && e.keyCode==){ // enter 键 //要做的事情 } }; </script>
이러한 키의 동작을 정의하는 한 브라우저에서 이 키를 누를 때 반응합니다. 현재 모든 브라우저와 호환됩니다.
js에서는 키보드 이벤트를 자주 사용하기 때문에 키보드 이벤트에 해당하는 키코드를 모아서 공유해봅니다.
keyCode = BackSpace BackSpace keyCode = Tab Tab keyCode = Clear keyCode = Enter keyCode = Shift_L keyCode = Control_L keyCode = Alt_L keyCode = Pause keyCode = Caps_Lock keyCode = Escape Escape keyCode = space keyCode = Prior keyCode = Next keyCode = End keyCode = Home keyCode = Left keyCode = Up keyCode = Right keyCode = Down keyCode = Select keyCode = Print keyCode = Execute keyCode = Insert keyCode = Delete keyCode = Help keyCode = equal braceright keyCode = exclam onesuperior keyCode = quotedbl twosuperior keyCode = section threesuperior keyCode = dollar keyCode = percent keyCode = ampersand keyCode = slash braceleft keyCode = parenleft bracketleft keyCode = parenright bracketright keyCode = a A keyCode = b B keyCode = c C keyCode = d D keyCode = e E EuroSign keyCode = f F keyCode = g G keyCode = h H keyCode = i I keyCode = j J keyCode = k K keyCode = l L keyCode = m M mu keyCode = n N keyCode = o O keyCode = p P keyCode = q Q at keyCode = r R keyCode = s S keyCode = t T keyCode = u U keyCode = v V keyCode = w W keyCode = x X keyCode = y Y keyCode = z Z keyCode = KP_ KP_ keyCode = KP_ KP_ keyCode = KP_ KP_ keyCode = KP_ KP_ keyCode = KP_ KP_ keyCode = KP_ KP_ keyCode = KP_ KP_ keyCode = KP_ KP_ keyCode = KP_ KP_ keyCode = KP_ KP_ keyCode = KP_Multiply KP_Multiply keyCode = KP_Add KP_Add keyCode = KP_Separator KP_Separator keyCode = KP_Subtract KP_Subtract keyCode = KP_Decimal KP_Decimal keyCode = KP_Divide KP_Divide keyCode = F keyCode = F keyCode = F keyCode = F keyCode = F keyCode = F keyCode = F keyCode = F keyCode = F keyCode = F keyCode = F keyCode = F keyCode = F keyCode = F keyCode = F keyCode = F keyCode = F keyCode = F keyCode = F keyCode = F keyCode = F keyCode = F keyCode = F keyCode = F keyCode = Num_Lock keyCode = Scroll_Lock keyCode = acute grave keyCode = comma semicolon keyCode = minus underscore keyCode = period colon keyCode = numbersign apostrophe keyCode = plusminus hyphen macron keyCode = keyCode = copyright registered keyCode = guillemotleft guillemotright keyCode = masculine ordfeminine keyCode = ae AE keyCode = cent yen keyCode = questiondown exclamdown keyCode = onequarter onehalf threequarters keyCode = less greater bar keyCode = plus asterisk asciitilde keyCode = multiply division keyCode = acircumflex Acircumflex keyCode = ecircumflex Ecircumflex keyCode = icircumflex Icircumflex keyCode = ocircumflex Ocircumflex keyCode = ucircumflex Ucircumflex keyCode = ntilde Ntilde keyCode = yacute Yacute keyCode = oslash Ooblique keyCode = aring Aring keyCode = ccedilla Ccedilla keyCode = thorn THORN keyCode = eth ETH keyCode = diaeresis cedilla currency keyCode = agrave Agrave atilde Atilde keyCode = egrave Egrave keyCode = igrave Igrave keyCode = ograve Ograve otilde Otilde keyCode = ugrave Ugrave keyCode = adiaeresis Adiaeresis keyCode = ediaeresis Ediaeresis keyCode = idiaeresis Idiaeresis keyCode = odiaeresis Odiaeresis keyCode = udiaeresis Udiaeresis keyCode = ssharp question backslash keyCode = asciicircum degree keyCode = sterling keyCode = Mode_switch
이벤트 객체의 keyCode 속성을 사용하여 입력 키 값을 결정합니다
예: if(event.keyCode==)alert(“입력!”);
키-값 대응표
A X U X B X V X C X W X D X X X E X Y X F X Z X G X X H X X I X X J X X K X X L X X M X X N X X O X X P X X Q X ESC XB R X CTRL X S X SHIFT X T X ENTER XD
키 조합을 사용하려는 경우 이러한 키를 동시에 누르는지 여부를 결정할 수 있습니다. 예를 들어 Ctrl 키, Shift 키, Alt 키의 조합에 따라 Ctrl 키, Shift 키, 및 Alt 키를 여러 번 누릅니다.