如何在 JavaScript 中模拟按键? [复制]

2024-01-03

我正在尝试找到一种模拟按键的方法。

例如,当功能启动时,应按下“向下箭头”键,因此网页应稍微滚动。

我只对 Chrome 感兴趣,jQuery 或纯 JS 都合适。 (纯 JS 会更可取)。

这是我尝试过的代码示例之一:

var e = $.Event("keydown", { keyCode: 40}); // 40 = down arrow
$("body").trigger(e);
// When I launch it the console, nothing happens. The page is not scrolled.
// May be I missed some obvious?

我搜索并找到了以下相关问题,但解决方案对我不起作用:

  • 使用 jQuery 触发按键事件的最终方法 https://stackoverflow.com/questions/832059/definitive-way-to-trigger-keypress-events-with-jquery
  • 在 JavaScript 中触发键盘事件 https://stackoverflow.com/questions/961532/firing-a-keyboard-event-in-javascript
  • JavaScript中如何触发事件? https://stackoverflow.com/questions/2490825/how-to-trigger-event-in-javascript
  • 用javascript模拟左右方向键事件 https://stackoverflow.com/questions/5516600/simulate-left-and-right-arrow-key-event-with-javascript
  • 使用 jQuery 模拟按键 https://stackoverflow.com/questions/1468384/simulate-keypress-with-jquery
  • 从 Javascript 控制台模拟按键事件 https://stackoverflow.com/questions/15722096/simulating-a-keypress-event-from-javascript-console
  • 模拟 JavaScript 按键事件 https://stackoverflow.com/questions/596481/simulate-javascript-key-events

换句话说

使用 AutoHotkey,您可以轻松制作如下内容:

Down::
Send, {Up}

然后,如果您按Down方向键,会触发Up。我只是想用JS来实现。


正如@rfsbsb 指出的:用于模拟按键按下的 Jquery 脚本不运行键盘快捷键 https://stackoverflow.com/questions/13821071/jquery-script-for-simulated-key-press-down-not-running-keyboard-shortcut/13821309#13821309

如果您尝试启动某些浏览器或系统范围的键盘快捷键 那么这就是一个死胡同——出于安全原因这是无法完成的。如果它 是有可能的,互联网上到处都有这样的页面 会(例如)将自己添加到您的书签中,甚至无需询问 (通过使用 Javascript 触发 CTRL+B 快捷键)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 JavaScript 中模拟按键? [复制] 的相关文章