当按下一个键时,请多次按下不同的键
Press a different key multiple times when one key is pressed?
本文关键字:下一个 更新时间:2023-09-26
所以我要做的是,当某个网站上按下"e"键时,它会多次按下"w"键。我做了测试,看看脚本是否达到了用alert()按下"e"的程度;它起作用了,但没有触发"w"键。
// @run-at document-end
// ==/UserScript==
(function() {
var amount = 6;
var duration = 50; //ms
var overwriting = function(evt) {
if (evt.keyCode === 69) { // KEY_E
for (var i = 0; i < amount; ++i) {
setTimeout(function() {
alert("Key e is pressed"); /* This works */
window.onkeydown({keyCode: 87}); // KEY_W /* This doesn't */
window.onkeyup({keyCode: 87});
}, i * duration);
}
}
};
window.addEventListener('keydown', overwriting);
})();
您直接调用遗留事件侦听器。事实上,如果它存在,它将被执行。但是,这不能触发已注册的事件侦听器(通过addEventListener()
)。要执行此操作,请向所需目标(例如窗口)触发事件,然后让浏览器执行其他操作。
window.dispatchEvent(new KeyboardEvent('keydown',
{
'view': window,
'which': 87,
'keyCode': 87,
'bubbles': true,
'cancelable': true
});
相关文章:
- 滚动到容器中的下一个元素-几乎到了
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- 使用ajax将数据从一个步骤发送到下一个步骤的3步表单
- AngularJS&JSON-从Previous&下一个对象
- 使用向下箭头键(与tab键一样)聚焦下一个输入
- 来自文档或下一个静态父级的事件委派
- angularjs移除焦点上的活动类并添加到下一个项目
- 禁用旋转木马中的下一个按钮和上一个按钮
- 当按下一个键时,请多次按下不同的键
- 正在加载下一个帖子
- 构建JS测试,警报窗口重复上一个Q,而不是问下一个Q
- 删除“;上一个“;以及“;下一个“;基于当前幻灯片
- 真正的下一个具有特定类的元素
- 如何使用javascript获取下一个/转发url
- jQuery转盘下一个元素没有滑入
- 简单的垂直上一个和下一个按钮代码点击上下移动jQuery
- 按下一个HTML按钮,该按钮使用一个功能在同一个新窗口中打开URL
- 算法:从数组(javascript/angular)中按当前日期获取上一个和下一个事件
- JavaScript/jQuery-添加添加和删除类与下一个函数之间的延迟