の keydownイベントは、キーが押されたとき、KeyPressイベントの直後に発生します。次に、キーが離されるとkeyupイベントが生成されます。
キーダウンとキープレスの違いを理解するには、文字とキーを区別すると便利です。キーは、コンピュータのキーボード上の物理的なボタンです。文字は、ボタンを押すことによって入力されたシンボルです。USキーボードでは、4キーを押しながらShift押すと、通常「ドル記号」の文字が生成されます。これは、必ずしも世界中のすべてのキーボードに当てはまるわけではありません。理論的には、KeyDownイベントとからkeyupイベントは、一方で、押されたり解放されたキーを表すキープレスイベントは、入力されている文字を表します。実際には、これは常に実装方法とは限りません。
しばらくの間、一部のブラウザは、keypressの直後にtextInputと呼ばれる追加のイベントを発生させました。DOM 3標準の初期のバージョンでは、これをkeypressイベントの代わりとして使用することを意図していましたが、概念全体が後で取り消されました。Webkitはバージョン525と533の間でこれをサポートし、IEはそれをサポートしていると聞いていますが、それを検出したことはありません。おそらく、WebkitがtextInputと呼ばれる必要があったためです。、IEがtextinputを呼び出すときにをでした。
すべてのブラウザでサポートされているinputというイベントもあり、textareaまたはinputフィールドに変更が加えられた直後に発生します。通常、キーを押すと、入力された文字がテキスト領域に表示され、入力が行われます。入力イベントは、実際にキーがタイプされたものについての情報を与えるものではありません-あなたは何が変更されたか、それを把握するために、テキストボックスを検査する必要があるだろう-私たちは本当にそれをキーイベントを考慮していないので、実際にここでそれを文書化していません。もともとはテキストエリアと入力ボックスに対してのみ定義されていましたが、他のタイプのオブジェクトにも発砲するように一般化する動きがあると思います。