javascript - JS Key Event 为什么键码消失了?
问题描述
我正在做一些解析器(没关系......),我需要知道何时按下“特殊”键,例如“arrowdown”/“enter”/“alt”,通常看不到在文本中(因为文本中没有写这样的键),所以我选择了处理键盘事件。
解析器仅在从键盘输入时工作,但在从程序输入时,它停止工作(我的意思是当执行自动输入时,它停止工作。)。如果是自动输入,则 e.code 始终为空。
例子:
输出调试信息。到控制台,我写了这段代码
//my_field - This is the "input" field for the text type
my_field.onkeydown = Reading;
function Reading(e) {
console.log("TEST = " + e.key + " | " + e.code);
...
我用键盘输入:“BCD”
它显示在控制台中
TEST = b | KeyB
TEST = c | KeyC
TEST = d | KeyD
我使用一个程序进行自动输入
TEST = b |
TEST = c |
TEST = d |
我怀疑这是因为程序模拟按下“虚拟键”,而不是“硬件扫描”。(我不确定)
问题是如何获得这个 e.code(在自动输入的情况下)?
解决方案
推荐阅读
- ruby-on-rails - 从 Faraday 使用端口 3000 调用 localhost
- sap - 在拥有 15 亿多条记录的大表上进行保留的最佳方法是什么?(SAP HANA SP12)
- ruby-on-rails - rspec .to receive(:method_name) 正确用法
- google-bigquery - 如何从大查询表中删除分区列?
- ruby-on-rails - 迁移生态系统的最佳解决方案
- python - DRF - 嵌套路由器 - 在 POST/PUT/PATCH 上创建/更新嵌套对象
- clang - clang 链接错误:无法找到库 -lclang_rt.builtins-arm.a
- oracle - 如何使用 oracle UTL_FILE 包在客户端文件系统上生成文件
- c# - C# 一个月的最后 3 个工作日
- symfony - symfony 验证器错误名称常量