質問

私は、カスタムCMSを持っており、300ミリ秒、たとえば、以内に2回 Ctrlキーキーを押すことによってトリガ「ショートカットメニュー」を追加したいと思います。 私はプロトタイプを使用するので、私の出発点は明らかにされます:

Event.observe(document, 'keypress', function(event)
  { if(event.keyCode == Event.KEY_XYZ) { show_shortcuts});

現時点での私のアプローチは、ミリ秒単位で現在の時刻とグローバル変数を投入し、キー入力が300未満ミリ秒前に起こっているかどうか、各キー操作にチェックされるだろう。

しかし、おそらくよりエレガントな解決策はありますか?

役に立ちましたか?

解決

この作業をする必要があります。 AltキーまたはShiftキーのようないくつかの他のキーが同時に押されていない場合はたぶんいくつかは、さらにチェックを追加します。ちょうど尋ねると、私は明確化を提供しない場合、それは自明であると思います。

var dblCtrlKey = 0;
Event.observe(document, 'keydown', function(event) {
  if (dblCtrlKey != 0 && event.keyCode == 17) {
    alert("Ok double ctrl");
  } else {
    dblCtrlKey = setTimeout('dblCtrlKey = 0;', 300);
  }
});
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top