javascript - 火狐浏览器中的事件 "e is undefined"

标签 javascript dom-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 Define

最佳答案

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

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

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

关于javascript - 火狐浏览器中的事件 "e is undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12621667/

相关文章:

javascript - HTML 按钮 onclick 函数无法使用 jQuery 变量作为参数

javascript - 从 Chrome 扩展内容脚本中抛出调试

javascript - 在 YUI3 的自定义模块上定义和触发自定义事件

javascript - 将值插入到输入/JavaScript

javascript - polymer 1.5/iOS : How to stop event propagation over iron-pages

javascript - react 背景 url 的插值不渲染

javascript - Kendo UI 分组过滤器

javascript - 如何暂时阻止可滚动 div 滚动?

javascript - 如何引用 CSS 或 JS 文件中的元素以实现最快的解析?

javascript - 使用 Socket.IO,在发送 JavaScript 事件时防止客户端劫持 - 使用 SignalR?