1

キーダウンとキーアップで div 要素の色を変更しようとしていますが、うまくいかないようです。インターネットで見つけることができるすべての例を確認しましたが、私のコードは機能していないようです。

私が見つけたすべての例は、キープレスのターゲットとしてフォーム入力テキスト フィールドを使用しているようです。私はそれをしたくありません。ここに私のコードがあります:

$(document).keydown(function(e){
    if(e.which == 'A')
    {
        alert('key was pressed');
        $(#k1).css('background-color', "blue");
    }
});

私の考えでは、関数が呼び出されることはないため、 $(document) はそこにあるのは正しいことではありません。しかし、私が見つけたすべての例はテキストフィールド入力を使用しているため、そこに何を入れるかわかりません。

4

4 に答える 4

4

LIVE DEMO

$(document).keydown(function(e){
    if(e.which == 65){
        alert('Pressed key was: '+ e.which );
        $("#k1").css( { backgroundColor:"blue" } );
    }
});

気軽に使う$('input')のではなく、必要な場合は$(document)
65event.whichA

于 2013-03-06T21:43:17.633 に答える
1

いくつかのこと。まず、event.whichキーに関連する数値を返します。次に、jqueryターゲットは文字列である必要があります。したがって、=='A'to==65$(#k1)toを変更すると、$("#k1")機能します。これがデモです:http://jsfiddle.net/AeBtV/

js

$(document).keydown(function(e){
 if(e.which == 65)
 {
    alert('A key was pressed');
    $("#k1").css('background-color', "blue");
 }
});

キーコード番号に関する注意:

範囲は、AからZの場合は65〜90です。したがって、Aは65、Zは90、Rは82です。

于 2013-03-06T21:44:54.403 に答える
0

.liveを使用してkeyupイベントとkeydownイベントをトラップしました。

$( "#my_id")。live('keydown'、function(event){

..。

});

于 2013-03-06T21:41:20.177 に答える
0

あなたのwhich条件は無効です。他の人が言ったように65でなければなりません。

http://api.jquery.com/keypress/

下にスクロールすると、任意のキーを入力して、各キーの値を確認できます。

または、次のことができます

console.log(e.which);
于 2013-03-06T21:48:29.287 に答える