Atitit.js的鍵盤按鍵事件捆綁and事件調(diào)度

字號:


    這篇文章主要介紹了Atitit.js的鍵盤按鍵事件捆綁and事件調(diào)度的相關(guān)資料,需要的朋友可以參考下
    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>
    只要你定義了這些鍵的動作,你在瀏覽器里按下這些鍵就會響應(yīng),兼容目前所有瀏覽器。
    js 里面的鍵盤事件經(jīng)常用到,所以收集了鍵盤事件對應(yīng)的鍵碼來分享下:
    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!”);
    鍵值對應(yīng)表
    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鍵