按两个连续键以在JavaScript中触发事件

Jus*_*ner 2 javascript vim key keycode keypress

Vim,您可以按此键gg转到文档的开头,或者按ddgo删除当前行.如何在网页中实现类似的行为?我的意思是,在网页环境中,如何捕获两个连续按键事件来触发事件?

谢谢.

Bas*_*sic 5

您需要监控所有按键事件,当您找到可能是多按组合中的第一个按键时,启动计时器.如果在计时器处于活动状态时按下组合中的第二个键,请执行某些操作.

例如(伪代码)

//for gg
var inCombo = false;
function KeyPress(Key) {
   if(Key=='g') {
      if(!inCombo) {
          inCombo = true;
          setTimeout('inCombo=false;', 100);
      } else {
          //Do the action here
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

//Do the action here如果,只会火g是在100ms内按下两次