0

キープレス(右矢印)で単純なバインドが必要ですが、それを機能させることができません。.keypress()メソッドをチェーンする必要があるかどうかわかりません。変数はキーコードを取り込まないだけです。キープレスに反応します(コンソールに記録します)が、私が望むものではありません。プラグインや jquery UI の使用は許可されていません。

    $("*").keypress(function(e){
        console.log(e); //this returns [object object]
        if (e.which == 39 || e.keyCode == 39 || window.event.keyCode == 39){
            $('.someDiv').click();
        };
    });

何か案は?

4

2 に答える 2

2

オブジェクトを使用できます。また、jQuery はプロパティを正規化し、クロスブラウザーであることdocumentにも注意してください。which

$(document).on('keyup', function(event){
    if (event.which == 39){
        $('.someDiv').click();
    };
});
于 2012-08-18T19:51:33.013 に答える
2

keypressは矢印キーでは起動しないようです。代わりに次のようなものはどうでしょうか。

$(document).on('keyup', function(e){
    if (e.which == 39){
        $('.someDiv').trigger('click');
    }
});

また、jQuery は を正規化e.whichし、ドキュメントへのバインドは、DOM 内のすべての要素を反復処理するよりも優れたアイデアのように思えます。

フィドル

于 2012-08-18T19:52:18.887 に答える