2

(このスクリプトを書いているときに遭遇しました)

関連コード:

window.keyPressEventLambda=function(key,callback){ //just a lambda function wrapper so I can generate handlers on the fly
return function (zEvent) {
        if (zEvent.altKey  && ( zEvent.which == key.charCodeAt(0)||zEvent.which == key.toUpperCase().charCodeAt(0))) {
            callback(this.id);
            return false;
        }
        return true;
}
}

使用事例:

$("textarea").live("keydown",keyPressEventLambda("C",function(id){/*blah blah blah */})

したがって、Alt-を使用するCと、コールバック関数が自動的に実行されます。

現在、 によりreturn false;、バブリングが抑制され、すべてがページ内で便利です。

しかし、Chrome (Windows では 20.0.1128.0 または 19.0.1084.41) は依然として alt キーを Chrome ブラウザーのショートカットとしてキャプチャし、Alt-のショートカットが実際には存在しないためC、失敗し、迷惑な「ping」音を出します。

-ショートカットでは問題なく動作Ctrlしますが、ほとんどの -ショートカットが使用されるため、これらを使用したくありませんCtrl

ブラウザが私のスクリプトに怒らないようにする方法はありますか?

4

1 に答える 1

1

これは既知の Chrome の問題です。http://code.google.com/p/chromium/issues/detail?id=105500を参照してください。

于 2014-01-03T02:09:36.867 に答える