7

回避策が必要なので、私はこれを求めていません。うまくいくものがありますが、なぜうまくいかないのか知りたいです。このバグはJavascript(またはJQuery.keypressハンドラーを使用していたためJQuery)にありますか、それともこれがそうである特定の理由がありますか?

4

2 に答える 2

16

このkeypressイベントは、キーボード アクティビティを検出するのではなく、ユーザーが入力した文字を処理するように設計されており、delete キーと backspace キーは文字を生成しません。一部のブラウザーではこの行が多少ぼやけていますが、一般的な原則として、keyupおよびイベントは、押されたキーを検出し、入力された実際の文字を検出するkeydownためにどのキーであるかを通知するために存在します。keypress

于 2010-10-12T11:14:28.577 に答える
2

簡単に言えば、onkeypress イベントは、すべてのブラウザーのすべてのキー タイプに対して発生するわけではありません。ブラウザのマニュアルを確認してください。

なんで?

おそらく包括的な答えではありませんが、シフトを考慮してください。他のキーと比較して、シフトが下がったときと上がったときが重要です。また、キーボード ハードウェアが異なれば、キー ロールオーバーの特性も異なります。詳細について知りたいと思うかもしれません。

于 2010-10-12T04:22:11.523 に答える