Atitit.js的键盘按键事件捆绑and事件调度
1.Best的方法还是
objEvtMap[id+evt]=function(evt,element)
2.Eventbind
functionbindEvent_4_dataBlock() { vararr=$("#table1li"); arr.each(function(index,element){ $(element).keypress(function(){ alert('keypress'); }); varid="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.Eventdispatch
document.onkeydown=function(event){ vare=event||window.event||arguments.callee.caller.arguments[0]; alert("keycode:"+e.keyCode); if(e&&e.keyCode==40){//下 //alert('40=下键,39=右键'); varnow=$(".selected"); varid=$(now).attr("id"); varfunc=objEvtMap[id]; func("down",now); //key_press_hadler(now); returnfalse; }
js中获取键盘事件
<scripttype="text/javascript"language=JavaScriptcharset="UTF-"> document.onkeydown=function(event){ vare=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=BackSpaceBackSpace keyCode=TabTab keyCode=Clear keyCode=Enter keyCode=Shift_L keyCode=Control_L keyCode=Alt_L keyCode=Pause keyCode=Caps_Lock keyCode=EscapeEscape 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=equalbraceright keyCode=exclamonesuperior keyCode=quotedbltwosuperior keyCode=sectionthreesuperior keyCode=dollar keyCode=percent keyCode=ampersand keyCode=slashbraceleft keyCode=parenleftbracketleft keyCode=parenrightbracketright keyCode=aA keyCode=bB keyCode=cC keyCode=dD keyCode=eEEuroSign keyCode=fF keyCode=gG keyCode=hH keyCode=iI keyCode=jJ keyCode=kK keyCode=lL keyCode=mMmu keyCode=nN keyCode=oO keyCode=pP keyCode=qQat keyCode=rR keyCode=sS keyCode=tT keyCode=uU keyCode=vV keyCode=wW keyCode=xX keyCode=yY keyCode=zZ 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_MultiplyKP_Multiply keyCode=KP_AddKP_Add keyCode=KP_SeparatorKP_Separator keyCode=KP_SubtractKP_Subtract keyCode=KP_DecimalKP_Decimal keyCode=KP_DivideKP_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=acutegrave keyCode=commasemicolon keyCode=minusunderscore keyCode=periodcolon keyCode=numbersignapostrophe keyCode=plusminushyphenmacron keyCode= keyCode=copyrightregistered keyCode=guillemotleftguillemotright keyCode=masculineordfeminine keyCode=aeAE keyCode=centyen keyCode=questiondownexclamdown keyCode=onequarteronehalfthreequarters keyCode=lessgreaterbar keyCode=plusasteriskasciitilde keyCode=multiplydivision keyCode=acircumflexAcircumflex keyCode=ecircumflexEcircumflex keyCode=icircumflexIcircumflex keyCode=ocircumflexOcircumflex keyCode=ucircumflexUcircumflex keyCode=ntildeNtilde keyCode=yacuteYacute keyCode=oslashOoblique keyCode=aringAring keyCode=ccedillaCcedilla keyCode=thornTHORN keyCode=ethETH keyCode=diaeresiscedillacurrency keyCode=agraveAgraveatildeAtilde keyCode=egraveEgrave keyCode=igraveIgrave keyCode=ograveOgraveotildeOtilde keyCode=ugraveUgrave keyCode=adiaeresisAdiaeresis keyCode=ediaeresisEdiaeresis keyCode=idiaeresisIdiaeresis keyCode=odiaeresisOdiaeresis keyCode=udiaeresisUdiaeresis keyCode=ssharpquestionbackslash keyCode=asciicircumdegree keyCode=sterling keyCode=Mode_switch
使用event对象的keyCode属性判断输入的键值
eg:if(event.keyCode==)alert(“enter!”);
键值对应表
AXUX BXVX CXWX DXXX EXYX FXZX GXX HXX IXX JXX KXX LXX MXX NXX OXX PXX QXESCXB RXCTRLX SXSHIFTX TXENTERXD
如果要使用组合键,则可以判断是否同时按下了这几个键,比如ctrl键、shift键以及alt键的组合使用就可以判断是否多按下了ctrl键、shift键以及alt键