2016-02-08 1 views
0

У меня есть select тег, в котором я даю вариант от F1 до F10 ..Now когда пользователь нажимает любую кнопку один из 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 от стоимости опциона и получить код ключа от нажатия клавиши хау чтобы соответствовать both..Either мне нужно ключ нажимается с клавиатуры или клавиатурным выбранного значения из опции

Demo

  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>

Я получил значение из выбранного параметра, но теперь Как получить ключ, который нажал пользователь или код ключа выбранного значения из опции, чтобы соответствовать условию?

+0

у downvote? любое объяснение? – Dhara

+1

Вы можете увидеть список полезных кодов клавиш: http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes, но можете ли вы поделиться с нами еще несколькими кодами? Трудно понять, в чем проблема. – mjsarfatti

+0

Мне не нужен код ключа. Мне нужна клавиша нажатой клавиши с клавиатуры или кода клавиатуры выбранного значения из опции – Dhara

ответ

1

Чтобы получить код ключа соответствующего выбранного значения вам нужно что-то вроде этого:

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

thnku так много..и думал об этом, но не знал, как это сделать .. помогает – Dhara

0

Это может помочь: https://www.kirupa.com/html5/keyboard_events_in_javascript.htm

Вот пример:

function myKeyboard(e) { 
    // gets called when any of the keyboard events are overheard 
    keyCode = e.characterCode; 
    alert(keyCode); 
} 

Bind выше функция myKeyboard() на вашем элементе ИЛИ любом другом поле ввода/текстовой области.

Также здесь список ключей и их коды символов: http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00000520.html

Также есть Иное полезное руководство, а также: http://unixpapa.com/js/key.html

проверить это демо из: http://unixpapa.com/js/testkey.html

+0

Thanku вы для обмена ссылками. Фактически я уже знаю о событиях и кодах клавиш и charcode, но я столкнулся с проблемой получения кода ключа из строкового значения – Dhara

Смежные вопросы