按键监听器事件在firefox中不起作用
key down listner event not working in 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("working");
}
}
我如何使它在所有浏览器上工作?我哪里做错了?
您需要将系统传递给您的函数的event
变量或使用标准化的addEventListener
方法:
// Passing the event
document.onkeydown = function(e) { keyDown(e); };
// Using event listeners
document.addEventListener('keydown', keyDown, false);
然后你应该依靠event
传递-不要使用window.event
-如果event
是不是传递给你的功能,你有更大的问题要担心比找到事件。
function keyDown(e){
if(e.which == 38 || e.which == 40){
alert("working");
}
}
我会更多地了解addEventListener
方法,因为不建议将函数分配给文档自己的onEvent
属性。如果您以后想更改这个呢?如果您想在某些时候添加一些代码该怎么办?事件监听器在这方面很好,它们不会修改这里的默认行为。您可以随时添加和删除这些内容,使其更加通用。在这里阅读:https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
相关文章:
- 为什么javascript:void(0)在Firefox中不起作用
- jpm的默认Firefox路径没有'不起作用
- 设置 CSS 背景在 Firefox 中不起作用
- document.getElementById 在 Firefox 中不起作用
- firefox中的CSS动画不起作用
- event.stopPropagation()在firefox javascript中不起作用
- 复选框.onClick在firefox中不起作用
- window.close();在Chrome和Firefox中不起作用
- JQuery在Chrome中不起作用,但Firefox很好
- 选择“行在 Chrome 和 Firefox 中不起作用(生成的代码)”
- Javascript 按键事件在 Firefox 中不起作用
- window.dispatchEvent 在 Firefox、Safari 或 IE 中不起作用
- 更改 Angular 2 中选择的事件在 Firefox 和 Edge 中不起作用
- jQuery SlideToggle() 在 FireFox 中不起作用,在 Chrome 中工作
- 动态关键帧插入在 IE 或 Firefox 上不起作用
- 使用 nameProp 的 JQuery 图像滚动更新在 Firefox 和 Chrome 中不起作用
- Javascript键码在Firefox中不起作用,但在chrome中运行良好
- HTML5<视频>元素在Firefox、Opera和Safari中不起作用
- 输入类型的图像在Internet Explorer中不起作用,但在Chrome和Firefox中起作用
- 使用量角器双击在chrome中效果良好,但在firefox中不起作用