ホームページ >ウェブフロントエンド >jsチュートリアル >Atitit.js キーボード キー イベント バンドルとイベント ディスパッチング_JavaScript スキル
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") {} }; }); }
3. イベントの発送
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(“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 キーの組み合わせによって、これらのキーが同時に押されたかどうかを判断できます。
と Alt キーを複数回押します。