3

キーの押下をキャプチャする機能はありますか?つまり、 Ctrl+ Shift+Altキーを押します(他のキーを押さないでください)。

以下のスニペット(Chromeでチェック)では、他の「通常の」キーが押された場合にのみシフトをキャプチャできます。

更新

<html>
<head>
    <script>
        function onKeyPressed(event) {
            event = event || window.event;
            var code = event.keyCode;
            var key = String.fromCharCode(event.keyCode);
            var shift = event.shiftKey;
            var alt = event.altKey;
            var ctrl = event.ctrlKey;
            var which = event.which;
            var str = "code = " + code + "\n" +
                      "key = " + key + "\n" +
                      "shift = " + shift + "\n" +
                      "alt = " + alt + "\n" +
                      "ctrl = " + ctrl + "\n" +
                      "which = " + which;
            alert(str);
        };

        function onClick(event) {
            event = event || window.event;
            var x = event.clientX;
            var y = event.clientY;
            var str = "x = " + x + "\n" +
                      "y = " + y;
            alert(str);
        };

        function onKeyUp(event) {
            alert("onKeyUp");
        };

        function onKeyDown(event) {
            alert("onKeyDown");
        }
    </script>
</head>
<body onmousedown="onClick(event)" onkeypress="onKeyPressed(event)" onkeyup="onKeyUp(event)" onkeydown="onKeyDown(event)"></body>
</html>

それらのキーをどのようにキャプチャできますか?

4

3 に答える 3

4

ブラウザでキーボード イベントを追跡する優れた機能を備えた、非常に優れた新しい JS ライブラリがあります。

ネズミ捕りといいます。リンクは次のとおりです: http://craig.is/killing/mice

それが役立つことを願っています。

于 2012-07-26T21:22:13.147 に答える
2

jQueryは許可されていますか? もしそうなら、これを見てください:

http://www.stepanreznikov.com/js-shortcuts/

それ以外の場合は、@Max Gherkins の提案にチャンスを与えることができます

于 2012-07-26T21:13:23.660 に答える
2

知る限り、キーアップまたはキーダウンイベントを使用してシフトをキャプチャする必要があります.keyPressはそれをキャプチャしません。詳細が必要な場合は、各イベントでキャプチャされたキーのリストを確認してください。shift は修飾キーであるため、キャプチャされません。なぜそうなのか、私には説明できません。

于 2012-07-26T21:19:08.687 に答える