28

Macブラウザでは、メタキーがダウンしている場合、JavaScriptはほとんどのキーのキーアップイベントを受信しません(他の修飾キーは例外のようです)。このjsfiddleを使用してデモンストレーションします(結果領域に焦点を合わせ、cmd + xのようなものを試してください。xはキーアップイベントを受け取りません):http: //jsfiddle.net/mUEaV/

Chrome、FF、Safari、Operaの安定したリリースでこれを再現しました。Windows7のCtrlキーでも同じことが起こらないようです。

OSがキーアップイベントをハイジャックしていますか?保存、検索、切り取り、コピーなどのメタキーを使用するコマンドはすべて、キーアップではなくキーダウンでアクティブになり、JavaScriptによってうまくハイジャックされる可能性があるため、これは特に奇妙に思えます。

4

4 に答える 4

6

onKeyUpを使用したときにイベントを取得することは単に不可能であることをmeta今日学びました。非常に残念で、回避するのは困難です。他の方法でそれらをエミュレートする必要があります。

編集:明確にするために、これは Mac でのみ発生し、イベントの OS レベルの処理が原因で発生します。上書きすることはできません。悪いニュースの担い手になって申し訳ありません。

于 2019-07-22T20:29:24.953 に答える
2

これらのキーを押しても、ブラウザウィンドウはフォーカスを保持していますか?windows+RWindowsでは、または同様のキーの組み合わせを押したときに同様の結果が得られCTRL+ESC、ブラウザのフォーカスが失われ、イベントの欠落が発生します。

于 2012-08-05T21:06:02.243 に答える