javascript - 在按住另一个键的同时返回一个键
问题描述
所以我需要的是能够按住spacebar键,并且脚本需要反复向spacebar键发送垃圾邮件,就好像我是通过点击一样。
我已经编写了一些代码,但我无法让它像我想要的那样工作。
document.addEventListener("keydown", function(event) {
if (event.keyCode == 32) {
var i = 0;
setInterval(() => {
var e = document.createEvent('HTMLEvents');
e.keyCode = 32;
e.initEvent(++i % 2 > 0 ? 'keyup' : 'keydown', false, true);
window.dispatchEvent(e);
}, 35);
}
});
所以基本上这是有效的,当我按下它时spacebar它反复按下spacebar向上和向下,但是当我释放空格键时它并没有停止这样做,但是直到我按下它才真正开始,spacebar这意味着它有点工作。
我知道问题出在这条线上e.initEvent(++i % 2 > 0 ? 'keyup' : 'keydown', false, true);
但我实际上已经从另一个项目中恢复了这段代码,但无法弄清楚它在做什么或如何做。
有没有人有什么建议?
解决方案
不确定这是否是您需要的。看一看。事件具有重复属性。
let test = 1;
let temp = document.querySelector('.test');
temp.innerHTML = test;
document.addEventListener("keydown", function(event) {
if (event.keyCode == 32) {
console.log(event.repeat);
test += 1;
temp.innerHTML = test;
}
});
<div class = 'test'>
<div>
推荐阅读
- amazon-web-services - 如何在 AWS CLI 过滤器中使用正则表达式
- javascript - SyntaxError: Unexpected token { 当试图在 es5 模块中导出一个类以在另一个模块中使用时
- c - 如何集成前缀检查器以根据文件读取查找完整的单词
- php - 如果不重定向到 https,则使用 https
- java - 立即在 Android 应用中禁用 NFC 的 API
- python-3.x - 仅当匹配时,如何合并两个数据框并从新列中的另一列返回数据?
- node.js - 使用 Node.js 访问 NTLM Api
- angular - 如何启用选中 Mat 表中的单个复选框的按钮?
- julia - 从 Julia 的字典中创建一个矩阵,其中的键是我必须拆分的字符串
- c# - 使用表达式主体成员可以提高一些性能?