Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中捕获多次击键_Javascript_Dom_Cross Browser_Dom Events - Fatal编程技术网

在Javascript中捕获多次击键

在Javascript中捕获多次击键,javascript,dom,cross-browser,dom-events,Javascript,Dom,Cross Browser,Dom Events,我正在尝试制作一个需要此特定功能的Javascript应用程序: 每当用户按下其中一个箭头键时,它必须根据键方向进行操作 如果用户按下一个键,按住它,然后按下第二个键,那么只有第二个键的动作必须执行,直到释放为止。如果第一个按钮仍然按下,则必须再次执行其操作 问题是,当您按下第二个键时,即使在释放第二个键后,也不会触发第一个键的更多事件(向上键除外) 这里大致是我正在做的: 它不需要在IE中工作,尽管IE8支持可能很酷,IE7和IE6完全被丢弃:)但它必须在Javascript中完成,没有fla

我正在尝试制作一个需要此特定功能的Javascript应用程序:

每当用户按下其中一个箭头键时,它必须根据键方向进行操作

如果用户按下一个键,按住它,然后按下第二个键,那么只有第二个键的动作必须执行,直到释放为止。如果第一个按钮仍然按下,则必须再次执行其操作

问题是,当您按下第二个键时,即使在释放第二个键后,也不会触发第一个键的更多事件(向上键除外)

这里大致是我正在做的:

它不需要在IE中工作,尽管IE8支持可能很酷,IE7和IE6完全被丢弃:)但它必须在Javascript中完成,没有flash或Silverlight

.

您可以使用
setInterval
每隔(例如)400毫秒运行一次处理程序,然后通过处理keydown和keydup来保持一堆按下的键。

这就是要做的事=)