2017-02-03 4 views
0

Я запускаю это на Macintosh, следовательно, ключ option.JavaScript: обнаружение клавиши Alt/Option на элементе выбора

У меня есть простое меню в HTML следующим образом:

<select name="select-item"> 
    <option value="">Test</option> 
    <option value="1">One</option> 
</select> 

Он находится внутри form элемента, который, в JavaScript имеет творчески названный form переменной.

Как определить, выключен ли параметр/Alt при выборе пункта меню?

Я попытался следующий код:

form['select-item'].onchange=function(e) { 
    alert(e.altKey); 
} 

, но я получаю undefined как результат, независимо от того, является ли ключ опция вниз или нет. То же самое применяется, если я попробую вместо shift.

Нет jQuery, пожалуйста.

ответ

0

Попробуйте использовать KeyDown событие в окне и сохранения значений

var keys = []; 
window.onkeyup = function(e) {keys[e.keyCode]=false;} 
window.onkeydown = function(e) {keys[e.keyCode]=true;} 


form['select-item'].onchange=function(e) { 
    alert(keys[18]); // 18 is the keyCode for alt 
} 

Вы можете найти все коды клавиш на https://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes

Here является jsfiddle Demo

+0

Спасибо, но вопрос в том, как _can_ я определить ключ при изменении? – Manngo

+0

Ладно, извините за недоразумение вас. Я надеюсь, что редактирование в моем ответе исправит вашу проблему c: –

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