&引用;事件类型“;Javascript中的值已更改

&引用;事件类型“;Javascript中的值已更改,javascript,Javascript,我只想知道在javascript中,event.type值在哪些实例中发生了更改。因为我有一个奇怪的问题,我有两个版本的软件(版本a比版本B旧)。两个版本的javascript代码都没有更改。它们的代码都是这样的 <select id="PlantColor" onchange="CheckKeyPress()"> <option value="red">Red</option> <option value="green">Green<

我只想知道在javascript中,
event.type
值在哪些实例中发生了更改。因为我有一个奇怪的问题,我有两个版本的软件(版本a比版本B旧)。两个版本的javascript代码都没有更改。它们的代码都是这样的

<select id="PlantColor" onchange="CheckKeyPress()">
  <option value="red">Red</option>
  <option value="green">Green</option>
  <option value="blue">Blue</option>
  <option value="yellow">Yellow</option>
</select>

function CheckKeyPress() {
  alert(event.type); // For testing purposes only
  if (event.keyCode == 8){
    // Do something
  }
}

红色
绿色
蓝色
黄色的
函数CheckKeyPress(){
警报(event.type);//仅用于测试目的
如果(event.keyCode==8){
//做点什么
}
}
在版本A中,
event.type
的值是“keydown”,而在版本B中,值是“change”(但大多数情况下它是“undefined”)

请注意,这两个版本在IE中运行的版本相同(甚至更旧)


我需要帮助来理解这一点。我也读过这篇文章(),但似乎我不能很好地解释这一点。

演示如何访问
事件。在调试模式下,在上面的代码中键入
事件。键入
它将获得它的值。好吧,最让你困扰的是:值切换“keydown”-“change”或者“未定义的”
事件
对象?如果您添加了
警报
,它将始终是
更改
,如果您只是在控制台中键入
事件。键入
则您将获得最新的事件,如果这是按键按下事件,则您将获得
按键按下
,如果没有当前事件,则获得
未定义的
。这不是问题。基本上,无法复制: