4

CTRL-の実行時にイベントをバインドする必要があるテキスト入力がありますV。a が値 17で起動ctrlされるたびに 1 に設定されるという名前のグローバル変数を設定しました。同様に、aが値 17で起動されると 0 になります。keydownwhichkeyupwhich

CTRL問題は、鍵が 2 つあることです。したがって、次のようなことを行うと、最初に左CTRLキーを押し、それを押しながら右CTRLキーも押して (両方のCTRLキーが押されるように)、そのうちの 1 つだけを離すと、keyupが起動され、変数ctrlが他のCTRLキーがまだ押されている場合でも、0 に設定されます。

両方のキーが押された場合にのみ変数が 0 に設定されるようにイベントを発生させるにはどうすればよいですかCTRL(それらを正確に区別する必要はありません)。

4

6 に答える 6

0

低レベルで書かない限り、その方法はないと思います... keyCodeは両方で同じです(17です)

コントロールキーが押されたかどうかを判断する方法として、 e.ctrlKey を使用できます。

しかし、私は周りを読んで、IEでそれを行うことができると述べた1つの答えを見つけましたが、私は自分の側からそれを試しませんでした

于 2014-11-17T20:59:11.960 に答える
-2

以下は、3 つのマウス キーアップ イベントに対する回答です。マウスホイールの残りの部分は、もう一度質問する必要があります:

/*
 1 = Left   Mousebutton
 2 = Centre Mousebutton
 3 = Right  Mousebutton
*/

$(document).mousedown(function(e) { 
if (e.which === 3) {
    /* Right Mousebutton was clicked! */
    alert("right key code 3");
}
else if(e.which === 2) {
    alert("Centre key code 2");
}
else if(e.which === 1) {
    alert("Left key code 1");
}
});
于 2013-03-04T06:10:31.800 に答える
-3

これを使用できます:

$('#inputboxinput').bind('keypress', function(e) {
if(e.keyCode==13){
    // Enter pressed... do anything here...
}

});

クロスブラウザの方法:

if (!event.which && ((event.charCode || event.charCode === 0) ? event.charCode: event.keyCode)) {
    event.which = event.charCode || event.keyCode;
}
于 2013-03-02T10:45:19.583 に答える