JavaScript: Определить Alt/Option Key на Выбрать элемент

Я запускаю это на Macintosh, следовательно, option ключ.

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

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

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

Как узнать, нажата ли клавиша "Option" / "Alt" при выборе пункта меню?

Я пробовал следующий код:

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

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

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

1 ответ

Попробуйте использовать событие 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

Вот демоверсия jsfiddle

Другие вопросы по тегам