从 10 键键盘捕获 "field +" 击键

Capture "field +" keystroke from 10-key pad

我正在将遗留应用程序从 AS400 迁移到 Web。旧版应用程序的所有核心用户都使用 10 键键盘上的 "field+" 键在字段之间切换。因此,我还需要在 Web 应用程序下捕获该击键并使用它代替 Tab 键。

但是,我无法挖掘任何信息来解释如何捕捉该击键。我一点也不反对用Javascript来做这个,但是我不知道该听什么键。

我确实找到了这个

http://intermec.custhelp.com/app/answers/detail/a_id/10736/~/what-are-the-virtual-key-codes-for-field-plus-and-field-minus-for-as%2F400

...这似乎提供了一个 "virtual key code",但我不确定如何在实践中使用它:

我创建了一个 Jsfiddle,它允许您查看在按键时检测到哪些键码 http://jsfiddle.net/user2314737/543zksjc/3/show/

(你需要 Javascript 和 JQuery)

$(".inputTxt").bind("keypress keyup keydown", function (event) {
    var evtType = event.type;
    var eWhich = event.which;
    var echarCode = event.charCode;
    var ekeyCode = event.keyCode;

    switch (evtType) {
        case 'keypress':
            $("#log").html($("#log").html() + "<b>" + evtType + "</b>" + " keycode: " + ekeyCode + " charcode: " + echarCode + " which: " + eWhich + "<br>");
            break;
        case 'keyup':
            $("#log").html($("#log").html() + "<b>" + evtType + "</b>" + " keycode: " + ekeyCode + " charcode: " + echarCode + " which: " + eWhich + "<p>");
            break;
        case 'keydown':
            $("#log").html($("#log").html() + "<b>" + evtType + "</b>" + " keycode: " + ekeyCode + " charcode: " + echarCode + " which: " + eWhich + "<br>");
            break;
        default:
            break;
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input class="inputTxt" type="text" />
<div id="log"></div>

也许这会有所帮助。