JavaScript:检测选择元素上的Alt / Option键

时间:2017-02-03 06:03:29

标签: javascript drop-down-menu event-handling alt-key

我在Macintosh上运行它,因此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。

1 个答案:

答案 0 :(得分: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演示