【发布时间】:2015-12-09 17:08:33
【问题描述】:
我有一个毫无意义的(阅读:让女朋友开心)网页,每半秒就会产生一个在屏幕上跳跃的独角兽图像。您也可以通过按 u 来生成它们。写完这个脚本后,我发现onkeydown 事件在按住时会重复——onkeyup 事件不会,这就是我感到惊讶的原因。这个“功能”让我很喜欢,所以现在我想为移动浏览器复制它。
我们的目标是在屏幕底部创建一个<div>,按住它时会生成独角兽。显然,我可以(并且可能会)使用 setInterval() 和 33 毫秒的静态延迟来模仿 Windows's default/max keyboard repeat speed,但这有什么乐趣呢?
但出于好奇,我想知道是否有一种方法可以模拟按住一个键,触发 keypress 或 keydown 事件,就像键盘对于运行页面的任何设备一样,所以我可以模拟按住在用户“按住” div 时尽可能准确地按下键。
我可以使用 jQuery 或任何其他类似的框架。
【问题讨论】:
-
onkeypress应该重复。onkeydown不应该。你用的是什么浏览器? -
@Bergi 我正在使用 Chrome,但显然这是预期的行为......请参阅 developer.mozilla.org/en-US/docs/Web/API/…
标签: javascript simulation dom-events keyboard-events