You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tampermonkey脚本问题:按下N键模拟按键,求element定义及键码查询站

问题解答

一、变量element的定义方式

你的脚本里的element需要指向接收键盘事件的目标元素,针对hordes.io这类网页游戏,有两种可靠的定义方式:

  1. 全局绑定document
    大多数网页游戏会监听全局键盘事件,直接将element定义为document就能触发游戏的按键响应:
const element = document;

修改后的完整脚本:

// ==UserScript==
// @name         New Userscript
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  按下N键自动触发2、3、5、6键
// @author       You
// @match        https://hordes.io/play
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant        none
// ==/UserScript==

const element = document;

document.addEventListener('keydown', function(evt) {
    if (evt.key === "N") {
        evt.preventDefault(); // 避免N键本身的行为干扰
        // 添加bubbles: true确保事件能被游戏捕获
        element.dispatchEvent(new KeyboardEvent('keydown', {'key': '2', 'bubbles': true}));
        element.dispatchEvent(new KeyboardEvent('keydown', {'key': '3', 'bubbles': true}));
        element.dispatchEvent(new KeyboardEvent('keydown', {'key': '5', 'bubbles': true}));
        element.dispatchEvent(new KeyboardEvent('keydown', {'key': '6', 'bubbles': true}));
    }
});
  1. 绑定游戏专属canvas元素
    如果游戏仅监听自身canvas的键盘事件,可以通过浏览器开发者工具(F12)找到游戏canvas的选择器,比如:
// 示例:根据实际页面的canvas类名/ID调整
const element = document.querySelector('.game-canvas');

二、键盘键码查询方法

无需依赖外部网站,有两种实用方式:

  • 浏览器控制台实时测试:打开F12进入Console面板,输入以下代码后按下任意键,就能在控制台看到该键的key、code、keyCode值:
document.addEventListener('keydown', e => console.log('key:', e.key, 'code:', e.code, 'keyCode:', e.keyCode));

测试完成后可通过document.removeEventListener('keydown', 对应函数)移除监听。

  • MDN内置文档参考:直接在浏览器搜索“MDN KeyboardEvent”,就能查看所有标准键盘键的官方定义值。

内容的提问来源于stack exchange,提问作者qwertyuiop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 01:01:07