5

アプリケーションで特定のキーダウン イベントをキャプチャしようとしていますが、同時に「コントロール」キーが押されていない場合に限ります。スクリーン リーダーのキーボード ショートカットで問題が発生したくありません。ShiftCtrlおよびAltこれらは JavaScript イベント上にあるため簡単に確認できますが、Mac コントロール キーだけでなくInsとキーも確認する必要があります。Windows

これは私がこれまでに得たものであり、期待どおりに機能しますが、Insまたは押されたときにイベントが引き続きトリガーWindowsされます。

handleKeydown: function(event) {
  var comboKeyPressed = event.ctrlKey || event.shiftKey || event.altKey;
  if(!comboKeyPressed && event.keyCode === $.ui.keyCode.HOME) {
    event.preventDefault();
    this.$('>ul>li:last').attr('tabindex', -1);
    this.$('>ul>li:first').attr('tabindex', 0).focus();
  } else if (!comboKeyPressed && event.keyCode === $.ui.keyCode.END) {
    event.preventDefault();
    this.$('>ul>li:first').attr('tabindex', -1);
    this.$('>ul>li:last').attr('tabindex', 0).focus();

  }
}

他のコントロールキーを簡単に確認する方法はありますか、またはそれらのイベントをキャプチャして、グローバルブール値のようなもので保持する必要がありthis.isInsertPressedますか?

4

3 に答える 3

1

でキーコードプロパティを使用します。Event object

if(event.keyCode === 45) // Insert Key
于 2013-08-01T22:05:33.077 に答える