js解决event.keyCode在Firefox中失效的问题
更新时间:2023年12月14日 16:03:14 作者:Happy 丶Liu
这篇文章主要介绍了js解决event.keyCode在Firefox中失效的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
event.keyCode在Firefox中失效的解决
在js使用event.keyCode,用Firefox打开时,就会出现event未定义的错误:

这是因为firefox浏览器不支持 window.event.keyCode,
但是我们可以用event.which代替。
为了使其能更具有普遍的兼容性,最好用event.keyCode|| event.which.
使用方法
如下:
window.onkeydown=function(e){
var event = e || window.event; //在火狐下event会做为参数传进来,ie下会在window下
keyCode = event.which || event.keyCode; //e.which是火狐下获取keyCode的方式,ie下使用e.keyCode获取
}event.keyCode列表
| 字母和数字键的键码值(keyCode) | |||||||
| 按键 | 键码 | 按键 | 键码 | 按键 | 键码 | 按键 | 键码 |
| A | 65 | J | 74 | S | 83 | 1 | 49 |
| B | 66 | K | 75 | T | 84 | 2 | 50 |
| C | 67 | L | 76 | U | 85 | 3 | 51 |
| D | 68 | M | 77 | V | 86 | 4 | 52 |
| E | 69 | N | 78 | W | 87 | 5 | 53 |
| F | 70 | O | 79 | X | 88 | 6 | 54 |
| G | 71 | P | 80 | Y | 89 | 7 | 55 |
| H | 72 | Q | 81 | Z | 90 | 8 | 56 |
| I | 73 | R | 82 | 0 | 48 | 9 | 57 |
| 数字键盘上的键的键码值(keyCode) | 功能键键码值(keyCode) | ||||||
| 按键 | 键码 | 按键 | 键码 | 按键 | 键码 | 按键 | 键码 |
| 0 | 96 | 8 | 104 | F1 | 112 | F7 | 118 |
| 1 | 97 | 9 | 105 | F2 | 113 | F8 | 119 |
| 2 | 98 | * | 106 | F3 | 114 | F9 | 120 |
| 3 | 99 | + | 107 | F4 | 115 | F10 | 121 |
| 4 | 100 | Enter | 108 | F5 | 116 | F11 | 122 |
| 5 | 101 | - | 109 | F6 | 117 | F12 | 123 |
| 6 | 102 | . | 110 | ||||
| 7 | 103 | / | 111 | ||||
| 控制键键码值(keyCode) | |||||||
| 按键 | 键码 | 按键 | 键码 | 按键 | 键码 | 按键 | 键码 |
| BackSpace | 8 | Esc | 27 | Right Arrow | 39 | -_ | 189 |
| Tab | 9 | Spacebar | 32 | Dw Arrow | 40 | .> | 190 |
| Clear | 12 | Page Up | 33 | Insert | 45 | /? | 191 |
| Enter | 13 | Page Down | 34 | Delete | 46 | `~ | 192 |
| Shift | 16 | End | 35 | Num Lock | 144 | [{ | 219 |
| Control | 17 | Home | 36 | ;: | 186 | \| | 220 |
| Alt | 18 | Left Arrow | 37 | =+ | 187 | ]} | 221 |
| Cape Lock | 20 | Up Arrow | 38 | ,< | 188 | '" | 222 |
| 多媒体键码值(keyCode) | |||||||
| 按键 | 键码 | 按键 | 键码 | 按键 | 键码 | 按键 | 键码 |
| 音量加 | 175 | ||||||
| 音量减 | 174 | ||||||
| 停止 | 179 | ||||||
| 静音 | 173 | ||||||
| 浏览器 | 172 | ||||||
| 邮件 | 180 | ||||||
| 搜索 | 170 | ||||||
| 收藏 | 171 | ||||||
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
javascript function调用时的参数检测常用办法
js中并不直接支持类似c#的方法重载,所以只能变相的来解决,示意代码:(利用了内置属性arguments)2010-02-02
使用Performance Observer实现网页性能优化的示例详解
在当今的网页开发中,性能监控已经成为确保用户体验的一个关键部分,本文将深入探讨一个强大的性能监控工具PerformanceObserver,看看如何使用它提升网站性能吧2025-03-03
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
这篇文章主要介绍了推荐三款日期选择插件,My97DatePicker、用于PC端的jquery.datepicker,以及专注于移动端的Mobiscroll,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-04-04


最新评论