firefox中的事件“e未定义”

时间:2012-09-27 12:42:40

标签: javascript javascript-events

我有一个在按下时获取键码的功能。

这是我的代码:

function Getkeycode(e){
   var keycode = null;
   if (window.event) 
       keycode = window.event.keyCode;
   else 
       keycode = e.which;
   return keycode;
}

window.onkeydown = function(){
   alert(Getkeycode());  // I'm tried to using  Getkeycode() or Getkeycode(e) but still error
}

以前的代码在Internet Explorer中运行良好,但在Firefox中始终会出现错误消息>> e is undefinede is not defined

1 个答案:

答案 0 :(得分:5)

在IE中,当事件发生时,它可以在窗口变量中全局访问。在其他浏览器中情况并非如此。

要将事件传递给您的函数,请将代码更改为

window.onkeydown = function(e){ // <== receive e
   alert(Getkeycode(e));  // <== pass e
}