javascript - 从字符串中获取键码/ key

标签 javascript jquery

我有 select 标签,其中我提供从 F1F10 的选项。现在,当用户按下 中的任何一个按钮时>F1F10 然后我必须检测。

<select id="forward_ckey">
    <option value="default"></option>
    <option value="ESC" disabled>ESC</option>
    <option value="F1">F1</option>
    <option value="F2" disabled>F2</option>
    <option value="F3" selected>F3</option>
    <option value="F4" disabled>F4</option>
    <option value="F5" disabled>F5</option>
    <option value="F6">F6</option>
    <option value="F7">F7</option>
    <option value="F8">F8</option>
    <option value="F9">F9</option>
    <option value="F10">F10</option>
    <option value="F11">F11</option>
    <option value="F12">F12</option>
</select>

    $(document).unbind('keydown.g').bind('keydown.g', function (e) {
        var unicode = e.keyCode;            
        if (unicode == 'SELECTED VALUE KEYCODE') { //HERE "F3" KEYCODE

输出:如果我按 F3 并且选择的值也是 F3 那么它应该执行其中的代码块。 我面临的主要问题是我从选项值中获取 F3 并从按键中获取键码如何匹配两者..我需要从键盘按下的键或从选项中选择的值的键码

演示

           var selected_id = "";
           $('select').on('change', function() {
             selected_id = this.value;
           });
           $(document).bind('keydown', function(e) {
             var unicode = e.keyCode;
             alert("");
             if (unicode == selected_id) { //F3 KEYCODE or Key from `e`
               alert("");
             }
           });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="play_ckey">
  <option value="default"></option>
  <option value="ESC" selected>ESC</option>
  <option value="F1">F1</option>
  <option value="F2" disabled>F2</option>
  <option value="F3" disabled>F3</option>
  <option value="F4" disabled>F4</option>
  <option value="F5" disabled>F5</option>
  <option value="F6">F6</option>
  <option value="F7">F7</option>
  <option value="F8">F8</option>
  <option value="F9">F9</option>
  <option value="F10">F10</option>
  <option value="F11">F11</option>
  <option value="F12">F12</option>
</select>

我从所选选项中获取了值,但现在如何获取用户按下的按键或选项中所选值的键码以匹配条件?

最佳答案

要获取相应选定值的键码,您需要如下所示:

var keycodes = {'F1': 112, 'F2': 113, 'F3': 114, …};
var selectedValue = $('#forward_ckey').val();
var selectedKeycode = keycodes[selectedValue];

关于javascript - 从字符串中获取键码/ key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35268589/

相关文章:

javascript - 如何使用 javascript/jquery 检查鼠标是否退出浏览器窗口?

javascript - 如何将重复的 'slash' 替换为字符串中的单个斜杠?

javascript - 突出显示最小/最大值表jquery

javascript - 图像转义上的 cakephp 链接不起作用

等效于 LINQ Any() 的 JavaScript/jQuery

javascript - 用于显示更新文本并保存按钮单击的文本框

c# - 有人用 Jint 进行可视化调试吗?

javascript - 如何禁用提交按钮,直到所有文本字段都已满并选择了文件

javascript - 将鼠标悬停在另一个元素上时显示一个元素并进行调整

javascript - 用于检索 div 的点击功能