keypress、keydown、keyupのさまざまな動作について混乱しています。このトリオの微妙なニュアンスを説明する重要なドキュメントを見逃したようです。これらのイベントをより効果的に使用するために、どのドキュメントを読む必要があるかを誰かが理解するのを手伝ってもらえますか?詳細が必要な場合は、以下を参照してください。
@ov:あなたは私にいくつかのコードを表示するように頼みましたが、それは私が解決しようとしているコードの特定の問題ではありません。私はこれらのイベントハンドラーの動作を把握しようとしており、それらを理解している誰かに、優れたドキュメントを紹介するように依頼しています。
jQueryを使用して入力フォームを作成し、それをドキュメントに挿入します。ほとんどの場合、問題なく動作します。フォームが、他のほとんどの入力フォームと同じようにキーボードに応答するようにします。escキーは、キャンセルボタンをクリックするのと同じようにフォームを閉じる必要があります。また、フォームにはが表示<textarea>
されているため、cmd+enterはクリックするのと同じである必要があります。OKボタン。keypressイベントを使用するのは簡単なようです。問題は、Chromeがキーまたは+のキープレスハンドラーを呼び出さないことです。+と+ 、および英数字に対して起動しますが、+に対しては起動しません。esccmdenterctrlenteroptionentercmdenter
そのため、代わりにキーアップを使用します。のキーアップ、のキーアップ、およびのキーアップを取得します。しかし、押している間はキーのキーアップが得られません。esccmdenterentercmd
3回目の魅力は、キーダウンが機能しているように見えるかもしれませんが、キーダウンを使用すると、キーが繰り返されます。最初に呼び出されたときにハンドラーのバインドを解除するだけですが、3つの異なるイベントタイプの動作が非常に異なるのは奇妙に思えます。どうしてこれなの?私が明らかに読んでいない明らかな文書はありますか?