JavaScript事件监听器按键码查询及Chrome扩展F12配置问题
关于F12对应JavaScript按键码(KeyboardEvent.code格式)的说明
首先,F12对应的符合你现有代码格式的按键码是F12,直接替换到你的KEY_HANDLERS对象里即可,修改后的代码示例如下:
const KEY_HANDLERS = { F12: () => { // 这里写入你要执行的指定函数逻辑 console.log("触发F12对应的功能"); // 示例:切换深色模式的逻辑 // document.body.classList.toggle('dark-mode'); }, KeyT: () => location.replace('http://thisisatest.com'), }; document.addEventListener('keydown', (e) => { // 注意:F12默认会唤起浏览器开发者工具,需阻止默认行为确保自定义逻辑生效 // Chrome扩展中可能需要额外配置权限来覆盖浏览器默认绑定 e.preventDefault(); const handler = KEY_HANDLERS[e.code]; if (handler) { handler(); return; } console.log('Key Pressed'); });
如何获取任意按键的code格式值
你可以通过以下简单方法自行查询任意按键对应的格式:
- 在浏览器控制台中执行这段代码:
document.addEventListener('keydown', (e) => { console.log('当前按键的code值:', e.code); e.preventDefault(); }); - 按下你想查询的按键,控制台就会输出对应的
code值,比如按F1输出F1、按回车输出Enter、按空格输出Space。
这类按键码是浏览器KeyboardEvent对象的code属性值,命名规则直观:
- 功能键F1-F12对应
F1到F12 - 字母键对应
Key+大写字母,比如KeyT、KeyA - 主键盘区数字键对应
Digit0到Digit9 - 特殊按键如删除键、Tab键分别对应
Backspace、Tab
注意:F12是浏览器默认的开发者工具唤起快捷键,在Chrome扩展中使用时,可能需要在扩展配置里申请相关权限,或处理默认行为冲突,确保自定义逻辑正常触发。
内容的提问来源于stack exchange,提问作者Tech Help For Anyone
相关产品推荐
相关产品推荐

