我有 select
标签,其中我提供从 F1
到 F10
的选项。现在,当用户按下 中的任何一个按钮时>F1
到 F10
然后我必须检测。
<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/