1

jQueryを使用してホットキー機能を実装しようとしています。目標は、Ctrl + '文字' が押されたときに関数を呼び出すことです。これは を使用するkeypress()と機能しますがkeypress()、Chrome と IE では機能しません。 keydown()主要なブラウザーで動作しますが、この場合の問題は、ブラウザーの既定の動作が妨げられることです。つまり、Ctrl + N を使用すると新しいウィンドウが開かれます。私のコードは次のとおりです。

  var ctrlDown = false;
    jQuery(document).keydown(function (e) {
        e.preventDefault();
        if (e.ctrlKey) {
            ctrlDown = true;
            if (ctrlDown && e.which == 13) {
                alert('ctrl + enter');
            }
            else if (ctrlDown && e.which == 78) {
                alert('Ctrl + N');
            }
        } else {
            ctrlDown = false;
        }
    });

も試しstopPropagation()ましたが、役に立ちませんでした。ブラウザのデフォルトの動作を防ぐために何ができますか?

4

0 に答える 0