5

私はアプリケーションのようなコンソールを作ろうとしているので、ウィンドウのすべてのキー押下をキャッチし、それらに関連することを行います(重要ではありません)。問題はバックスペースにあります。私は次のコードを持っています:

$(window).bind("keypress",function(e){
        var code = e.keyCode || e.which;
        if ( code == 8) {
            a = $("#console").html();
            $("#console").html(a.substring(0,a.length-1));
            currentCommand = currentCommand.substring(0,currentCommand.length-1);           
            e.preventDefault();
        }

ただし、Firefoxでは、の内容#consoleは削除されますが、Chromeは上記のコードを実行しません。クロスブラウザ互換のソリューションが必要です。私は何が欠けていますか?

添加:

キープレスの代わりにキーダウン/キーアップを使用すると、文字が「A」であるか「a」であるかを検出できず、常に「A」が返されます。

4

1 に答える 1

4

これを読む。IEは、これらの特別なキーに対してキープレスを実行しません。おそらく、他のいくつかのブラウザでも同じです。

Javascripte.keyCodeはIEでBackspace/Delをキャッチしません

于 2011-12-19T23:54:21.150 に答える