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键