Javascript 按键关闭listner事件在firefox中不起作用
我在javascript上有一个“keydown”事件,用于使用箭头键导航表: 我的代码如下:Javascript 按键关闭listner事件在firefox中不起作用,javascript,firefox,Javascript,Firefox,我在javascript上有一个“keydown”事件,用于使用箭头键导航表: 我的代码如下: document.onkeydown= function() { keyDown();}; function keyDown(e){ var evt=(e)?e:(window.event)?window.event:null; var key = evt.keyCode || evt.which; if(key==38 || key==40){ alert("w
document.onkeydown= function() { keyDown();};
function keyDown(e){
var evt=(e)?e:(window.event)?window.event:null;
var key = evt.keyCode || evt.which;
if(key==38 || key==40){
alert("working");
}
}
实施代码如下:
document.onkeydown= function() { keyDown();};
function keyDown(e){
var evt=(e)?e:(window.event)?window.event:null;
var key = evt.keyCode || evt.which;
if(key==38 || key==40){
alert("working");
}
}
如何使它在所有浏览器上都工作?这里我做错了什么?您需要将系统传递给您的函数的
事件
变量传递给您,或者使用标准化的addEventListener
方法:
// Passing the event
document.onkeydown = function(e) { keyDown(e); };
// Using event listeners
document.addEventListener('keydown', keyDown, false);
然后,您应该依赖已传递的事件
-不要使用窗口。事件
-如果未将事件
传递给您的函数,您需要担心的问题比查找事件更大
function keyDown(e){
if(e.which == 38 || e.which == 40){
alert("working");
}
}
我将进一步了解addEventListener
方法,因为不建议将函数分配给文档自己的onEvent
属性。如果你以后想改变这个怎么办?如果您想在某些时候添加一些代码,该怎么办?事件监听器在这方面很好,并且它们不会在这里修改默认行为。您可以动态添加和删除这些,使其更加通用。请在此阅读: