ホームページ >ウェブフロントエンド >jsチュートリアル >jQueryは複数のキープレスの組み合わせをキャプチャします

jQueryは複数のキープレスの組み合わせをキャプチャします

Christopher Nolan
Christopher Nolanオリジナル
2025-03-04 00:39:15149ブラウズ

jQuery Capture Multiple Key Press Combinations

以前の記事を読んで、jQueryを使用して単一のキーをキャプチャする方法を学ぶことができたかもしれません。この例では、複数のキーの組み合わせをキャプチャできます。配列(arrshortcut)は次のように定義されます。1。名前(参照のみ)

制御キーがアクティブ状態「制御キーが「状態外」である場合、検証キーが「コントロール」と「アクティブ状態」を押した場合、アレイのキーのプリセットを「execshortcut」と呼ぶ場合、アレイのキーのプリセットを探します。

JQueryとKeyの組み合わせのFAQ

// 要测试 CTRL + Z = alert(2)

var arrShortCut = [{ name: 'test1', key: 15, fx: 'alert(1);' }, { name: 'test2', key: 90, fx: 'alert(2);' }];

var iShortCutControlKey = 17; // CTRL;
var bIsControlKeyActived = false;

$(document).keyup(function(e) {
    if (e.which == iShortCutControlKey) bIsControlKeyActived = false;
}).keydown(function(e) {
    if (e.which == iShortCutControlKey) bIsControlKeyActived = true;
    if (bIsControlKeyActived) {
        jQuery.each(arrShortCut, function(i) {
            if (arrShortCut[i].key == e.which) {
                execShortCut(arrShortCut[i].fx);
                return false; // 停止迭代
            }
        });
    }
});

function execShortCut(fx) {
    eval(fx);
}
jQueryで複数のキー組み合わせを検出する方法は?

jQueryでの複数のキーの組み合わせの検出には、キーダウンまたはキーアップイベントの使用が含まれます。イベントを使用できます。これは、キーに関連付けられたキーコードを取得します。複数のキーを検出するには、アレイまたはオブジェクトを使用して、現在押しているキーを追跡できます。キーダウンイベントがトリガーされたら、追跡オブジェクトにキーを追加します。キーアップイベントがトリガーされたら、追跡オブジェクトからキーを削除します。その後、このオブジェクトを確認して、目的のキーの組み合わせを押しているかどうかを確認できます。

キープレス、キーダウン、キーアップイベントの違いは何ですか?

キーが押されたときにキーダウンイベントがトリガーされます。キープレスイベントは似ていますが、文字や数字などの文字値を生成するキーに対してのみトリガーされます。キーがリリースされると、キーアップイベントがトリガーされます。ほとんどの場合、キープレスを検出する場合は、キーダウンイベントを使用する必要があります。

キープレスイベントをプログラム的にシミュレートする方法は?

新しいキーボードEventを作成し、要素にディスパッチすることで、キーイベントをプログラム的にシミュレートできます。たとえば、「A」キーを押すのをシミュレートするには、次のことを行うことができます。

セキュリティの制限により、すべてのブラウザですべてのイベントをシミュレートできるわけではないことを忘れないでください。

var event = new KeyboardEvent('keydown', { key: 'a' }); jQueryでのキープレスのデフォルト操作をブロックする方法は? document.body.dispatchEvent(event);

jqueryのイベントハンドラーでevent.preventdefault()メソッドを呼び出すことにより、キープレスのデフォルト操作をブロックできます。これにより、ブラウザがキープレスに関連付けられたデフォルトのアクションを実行できなくなります。

特定のキーがjqueryで押されているかどうかを検出する方法は?

jqueryのキーダウンまたはキーアップイベントハンドラーのプロパティをチェックすることにより、特定のキーが押されているかどうかを検出できます。このプロパティには、キーが押されたキーコードが含まれます。たとえば、「A」キーが押されているかどうかを確認するには、次のことを行うことができます。

キーコードはブラウザとオペレーティングシステムによって異なる場合があるため、ライブラリまたはキーコードのリストを使用して互換性を確保することをお勧めします。

jQueryのCtrl CやCtrl Vなどのキーの組み合わせを検出する方法は?

イベントに加えて、

プロパティでは、event.ctrlkeyプロパティをチェックして、jqueryのCtrl CやCtrl Vなどのキーの組み合わせを検出することもできます。 Ctrlキーが押されている場合、event.ctrlkeyプロパティがtrueになります。たとえば、Ctrl Cの組み合わせを検出するには、次のことを行うことができます。

// 要测试 CTRL + Z = alert(2)

var arrShortCut = [{ name: 'test1', key: 15, fx: 'alert(1);' }, { name: 'test2', key: 90, fx: 'alert(2);' }];

var iShortCutControlKey = 17; // CTRL;
var bIsControlKeyActived = false;

$(document).keyup(function(e) {
    if (e.which == iShortCutControlKey) bIsControlKeyActived = false;
}).keydown(function(e) {
    if (e.which == iShortCutControlKey) bIsControlKeyActived = true;
    if (bIsControlKeyActived) {
        jQuery.each(arrShortCut, function(i) {
            if (arrShortCut[i].key == e.which) {
                execShortCut(arrShortCut[i].fx);
                return false; // 停止迭代
            }
        });
    }
});

function execShortCut(fx) {
    eval(fx);
}
「C」の重要なコードは67であり、「V」の重要なコードは86であることを忘れないでください。

jQueryのキープレスイベントの伝播を停止する方法は?

イベントハンドラーでevent.stoppropagation()メソッドを呼び出すことにより、jQueryのキープレスイベントの伝播を停止できます。これにより、イベントがDOMツリーで泡立つのを防ぎ、親要素のハンドラーをトリガーします。

jqueryの重要なイベントに関数をバインドする方法は?

キーダウン、キープレス、またはキーアップ方法を使用して、jQueryのキープレスイベントに関数をバインドできます。たとえば、関数を「A」キーにバインドするには、次のことを行うことができます。

ここで、MyFunctionは「A」キーを押すときに実行する関数です。
$(document).keydown(function(event) {
    if (event.which == 65) {
        alert('您按下了“a”键!');
    }
});

jQueryの重要なイベントから機能を解除する方法は?

OFFメソッドを使用して、jQueryのキーイベントから機能を解除できます。たとえば、前の例から「a」キーに縛られた関数を解除するには、次のことを行うことができます。

キーダウンメソッドに渡すと同じ関数参照を渡す必要があることを忘れないでください。

$(document).keydown(function(event) {
    if (event.ctrlKey && event.which == 67) {
        alert('您按下了 Ctrl+C!');
    }
});
jQueryで複数の特定のキーが同時に押されているかどうかを検出する方法は?

最初の質問への回答に記載されているように、アレイまたはオブジェクトを使用して現在押しているキーを追跡することにより、複数の特定のキーがjQueryで同時に押されているかどうかを検出できます。たとえば、「A」と「B」キーが同時に押されているかどうかを検出するには、次のことを行うことができます。

「A」の重要なコードは65であり、「B」の重要なコードは66であることを忘れないでください。

この改訂された応答は、明確さを改善し、より良い理解のためにコードコメントを追加し、最初のコード例でマイナーなエラーを修正します(

を追加して、一致した後、jquery.eachの反復もあります。

以上がjQueryは複数のキープレスの組み合わせをキャプチャしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。