Javascript 为什么event.ctrlKey返回未定义?

Javascript 为什么event.ctrlKey返回未定义?,javascript,javascript-events,event-handling,Javascript,Javascript Events,Event Handling,当在select元素中选择选项时,我调用javascript函数,如下所示: <select id="select-thingy" onchange="foo(event, this); false;"> <option value="bar">asdf</option> ... </select> 根据警报,e.ctrlKey是未定义的-我以为它应该返回true或false?我错过了什么 谢谢大家 根据,属性ctrlKey仅在Mouse

当在select元素中选择选项时,我调用javascript函数,如下所示:

<select id="select-thingy" onchange="foo(event, this); false;">
    <option value="bar">asdf</option>
...
</select>
根据警报,e.ctrlKey是未定义的-我以为它应该返回true或false?我错过了什么


谢谢大家

根据,属性
ctrlKey
仅在
MouseEvent
上可用(如
单击
鼠标盖
等),但不在
HTMLEvent
上。根据,属性
ctrlKey
仅在
MouseEvent
上可用(如
单击
鼠标盖
等)但不是
HTMLEvent
s.

。您确定
e
变量实际上就是事件吗?您是否尝试过检查
window.event.ctrlKey
?是的,我已经检查过了--我在函数内部放置了一个断点,e是一个事件对象window.event.ctrlKey'也返回未定义的。。您确定
e
变量实际上就是事件吗?您是否尝试过检查
window.event.ctrlKey
?是的,我已经检查过了--我在函数内部放置了一个断点,e是一个事件对象window.event.ctrlKey'也返回未定义的。@FallSe7en,很荣幸。祝你好运。@FallSe7en,很荣幸。祝你好运
function foo(e, elem) {
    var thingummy = elem.options[elem.selectedIndex].value;

    alert(e.ctrlKey); // for testing only

    if (e.ctrlKey) {
        // do something
    } else {
        // do something else
    }
}