在javascript中捕获多个击键

时间:2010-10-11 00:30:43

标签: javascript dom javascript-events cross-browser

我正在尝试使用需要此特定功能的javascript应用程序:

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

如果用户按下一个键,按住它,然后再按下一个键,那么,只有第二个动作必须执行才能释放。如果第一个仍然按下,它的动作必须再次执行。

问题在于,当你按下第二个键时,即使在释放第二个键之后,也不会触发第一个键的更多事件(键除了)。

这或多或少是我正在做的事:http://jsbin.com/amajo4

它不需要在IE中工作,虽然ie8支持可能很酷,ie7和ie6完全放弃:)但它必须在javascript,没有flash或silverlight中完成。

谢谢!

1 个答案:

答案 0 :(得分:4)

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