1

キーボードで最後に押された 2 つのキーを知ることはできますか?
どうすればいいですか?
このキーを比較する必要があり、それらが同じである場合は、いくつかの機能を作成します。
たとえば、誰かが Enter キーを押した場合 - これは最初の機能であり、Enter の後にスペースを押した場合 - これは 2 番目の機能です。ENTER の後に Ctrl を押すと、これは 3 番目の機能です。
したがって、それを行う唯一の方法は、現在と前のキー値で2変数を作成し、IF ELSE IF関数を作成することだと思います
:-)
これは、現在のキー値を取得する方法です:-)

$('#text').keydown(function(event) {
  $('#show').text(event.keyCode);
});

または、より良い質問です。(私は今それを見ました)
ダブルスペースを押した後、このエディターで直接 - ライブプレビューで別の行にジャンプします。
使い方?よくわかりませんが、必要なものはほぼ同じだと思います。
どうもありがとうございました!

4

3 に答える 3

1

これを行うには、最後に押されたキーを保存し、イベント ハンドラーで古いキーと新しいキーの両方をチェックするのkeyCodeが良い方法だと思います。

$('#text').keydown((function() {
    var lastKey = undefined;
    return function(event) {
        // here you have both the old and new keyCode
        lastKey = event.keyCode;
    };
})());

また、2つのスペースはMarkdown解釈です。

于 2013-04-09T07:59:32.103 に答える
0

これはおそらく最良の解決策ではありませんが、それまたはその一部を使用できるかどうかを確認してください

jsフィドル

var clicks = 0
$("#text").one("keypress", function () {
    clicks = 1;
    var KeyCode1 = event.keyCode;
    $('#result').text(KeyCode1);
    $("#text").one("keypress", function () {
        clicks = 2;
        var KeyCode2 = event.keyCode;
        $('#result').text(KeyCode1 + "\n" + KeyCode2);
    });
});
于 2013-04-09T08:30:23.390 に答える
0

非常に単純な jQuery プラグインから始めることができます。

(function($) {
    $.fn.keyWatcher = function() {
        return this.keydown(function(evt){
            var $this =  $(this);
           var prevEvt = $this.data('prevEvt');
            $this.trigger('multikeydown',[prevEvt,evt]);
            $this.data('prevEvt',evt);
        });
    };
})(jQuery);

これにより、通常multikeydown、イベントが発生するたびに新しいイベント ( ) が発生します。keydownこれは、現在のキー押下からのキーダウン イベントのみを提供するか、前のキーがあればそれも提供します。

使用法は次のようになります。

$(document).keyWatcher().bind('multikeydown',function(evt,prevKey,currKey){
    alert('prevKey = ' + ((prevKey) ? String.fromCharCode(prevKey.keyCode) : '(none)')); 
   alert('currKey = ' + String.fromCharCode(currKey.keyCode));
});

実際の例 (jsfiddle の右下ペインでキーを押す): http://jsfiddle.net/9VMUy/1/

prevKeyおよびcurrKeyイベント ハンドラーへのパラメーターで提供されるイベントには、元のイベントが含まれているため、 、、プロパティなどkeydownに完全にアクセスできます。keyCodectrlKeyshiftKey

于 2013-04-09T08:29:03.670 に答える