1. Best的方法还是
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; }
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
使用event对象的keyCode属性判断输入的键值
eg:if(event.keyCode==)alert(“enter!”);
键值对应表
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键
键盘事件的种类 键盘事件由用户击打键盘触发,主要有keydown、keypress、keyup三个事件,它们都继承了KeyboardEvent接口。 keydown:按下键盘时触发。 keypress:按下有值的键时触发,即按下 Ctrl、Alt、Shift、Meta 这样无值的键,这个事件不会触发。对于有值的键,按下时先触发keydown事件,再触发这个事件。 keyup:松开键盘时触发该事件。
输入框接口 用于弹起输入框,供用户输入文字。可以通过注册监听函数进行监听用户的输入,监听完毕请及时调用注销方法,取消监听。 BK.UI.showKeyboard(Object) 显示输入框,弹出键盘 手Q版本:7.6.5 函数参数Object: 属性名 类型 是否必填 说明 deaultText string 否 默认要展示的字符串 complete Function 否 接口调用完成回调 示例:
对于桌面游戏,一般需要通过键盘做一些游戏内的控制,这时你就需要监听键盘事件。Cocos2d-x 支持键盘事件,就像上节介绍的触摸事件一样。 创建键盘事件监听器: // creating a keyboard event listener auto listener = EventListenerKeyboard::create(); listener->onKeyPressed = CC_CALL
与响应鼠标事件相比,响应 Canvas 键盘事件没有那么直接,因为 Canvas 本身并不支持键盘事件的响应。我们需要耍一点小手段——在 Canvas 上添加一个支持键盘事件的其他对象。 本节的例程将在 7.2 节例程的基础上添加键盘响应事件。 html 部分变更的代码如下: //canvas_mk_event.html <canvas tabindex="0"></canvas>
嗨,在用pygame开发游戏时,有一个问题其实并不重要,但它一直困扰着我一段时间。 所以上面是一个工作代码,我相信 同样有效。 然而,当我只是尝试类似“event.key==pyplay。K_RIGHT:",python给我一个错误,说没有属性'key'。虽然我知道选择以上2个代码会更合理,而不仅仅是“event.key==pyplay。K_RIGHT:",我不知道为什么pyplay会说事件没有属
我的代码如下