0

キーダウンをキャッチして Alt-D を探すコードがいくつかあります。

$(document).keydown(function(e) {
     if((e.keyCode == 68) && e.altKey){     // Alt-D
    e.preventDefault();

         - code to duplicate an element  - 

      }
});

これは最初は正常に機能しますが、「要素を複製するコード」を実行した後、次の Alt-D がキャッチされません。実際、ボディをクリックして戻すまで、割り込みはキャッチされません。「要素を複製するコード」は、他のウィンドウに割り込みを指示する何かを行っているようです。

これが発生するために、重複したコードで何をしなければならないかを誰かが提案できますか? 重複したコードによって作成された要素に focus() を適用しようとしましたが、割り込みが表示されません。それらを元に戻すには、ウィンドウをクリックする必要があります。(重複したコードは、ここに含めるのが面倒です。)

提案をありがとう。

4

1 に答える 1

1

.preventdefault() は false を返します。

クロスブラウザの互換性のために、両方が必要です。

要素を作成していますか。要素が実際に作成される前にフォーカスを設定しようとしていますか?

Alt キー自体。ドキュメントからフォーカスを移動し、ツールバーに移動します。AltキーとDキーの両方について、キーダウン用に配列またはグローバル変数を作成してみてください。

そのため、2 つの実際の「キーダウン」イベントが発生します。使用できる各イベント event.preventdefault(); false を返します。そのため、alt は防止されています。および D キーが防止されています。

現時点では、D キーのみを推測することは防止されています。「altキー」ではありません((最初にDキーを押したままにしてからALTを押します。vs ALTを最初に押してからDキーを押します))

于 2013-11-11T19:17:08.687 に答える