0

我在 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。

4

1 回答 1

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上找到所有键码

是一个 jsfiddle 演示

于 2017-02-03T06:24:41.023 回答