Home >Web Front-end >JS Tutorial >Atitit.js keyboard key event bundling and event dispatching_javascript skills
1. The best method is still
objEvtMap[ id+evt ]=function(evt,element)
2. Event bind
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") {} }; }); }
3. Event dispatch
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; }
Get keyboard events in 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>
As long as you define the actions of these keys, they will respond when you press these keys in the browser. It is compatible with all current browsers.
Keyboard events in js are often used, so I collected the key codes corresponding to keyboard events to share:
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
Use the keyCode attribute of the event object to determine the input key value
eg: if(event.keyCode==)alert(“enter!”);
Key-value correspondence table
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
If you want to use key combinations, you can determine whether these keys are pressed at the same time. For example, the combination of the ctrl key, shift key, and alt key can determine whether the ctrl key, shift key, and alt key are pressed multiple times.