ここで紹介するイベントには、特定の HTML 要素で発生した場合にほとんどのブラウザで認識される名前が付けられています。つまり、ブラウザはこの HTML 要素に登録したイベント ハンドラー スクリプトを検索し、すぐに実行されます。
最初はイベントが少ないです。これらのイベントは、非常に古いブラウザであっても、ほぼすべての JavaScript ブラウザで機能します。これらの初期のイベントはリンクまたはフォームでのみ機能し、場合によってはウィンドウ全体で機能しますが、他のほとんどの HTML 要素では機能しないことに注意してください。
時代は変わり、多くの新しい出来事が皆さんに紹介されました。第 4 世代以降のブラウザでは、任意の HTML 要素にイベントを登録できます。
したがって、基本的に任意の要素に任意のイベントをバインドできますが、
にキーダウンをバインドすることはあまり意味がありません。
完全なブラウザ イベント互換性リストは、こちらをご覧ください。
インターフェイス イベント
インターフェイス イベントは、ユーザーのアクションによってトリガーされるのではなく、ユーザーのアクションの結果によってトリガーされます。
ユーザーがいずれかの要素をクリックすると、クリック時間がトリガーされます。特別な意味を持つ要素をクリックすると、追加のインターフェイス イベントがトリガーされます。
たとえば、ユーザーがリンクをクリックすると、クリック時間がトリガーされます。このリンクをクリックすると、新しいページがロードされるため、この特別なクリック イベントによってインターフェイス イベントのアンロードがトリガーされます。
他のインターフェイス イベントには、サイズ変更、スクロール、フォーカス/ぼかしなどがあります。
マウス イベント
Netscape 2 以降、すべてのブラウザはこれら 2 つの事実に気づきました。マウスがリンク領域に入ると、mouseover イベントがトリガーされます。このリンクをクリックすると、クリック イベントがトリガーされます。 Mouseout が追加された直後、マウスがリンク領域から離れるとトリガーされます。そこで、トラディショナルマウスイベントトライアド(トラディショナルトライアド)が設立されました。
第 3 世代のブラウザでは、マウス イベントがいくつか拡張されました。 dbclick が追加され、クリック イベントはマウスダウンとマウスアップに分割されます。ユーザーがマウス ボタンを押してポップアップします。最後に、マウスの軌跡を追跡するmousemove
も可能になりました
次の章では、マウスイベントについて詳しく説明します。
フォーム イベント
フォームは、ユーザーがフォームを送信すると送信イベントとリセット イベントがトリガーされ、フォームがリセットされるとリセットがトリガーされます。送信イベントは、すべてのフォーム検証コードの中核です。ユーザーがフォームを送信すると、フォームが走査されて間違ったデータがないかチェックされます。エラーが見つかった場合は、フォームの送信を中止し、ユーザーに警告を発します。
フォームは、アイテムがフォーカスを取得または失ったときのキーボード イベントやクリック イベントだけでなく、フォーカス イベントやブラー イベントも識別できます。追加の互換性リストを表示できます。
通常、これらのイベントを使用するときは注意してください。ユーザーがフォーム内の項目から離れたときに onblur を使用してデータを検証することは完全に可能ですが、これは多くの場合煩わしいものです。ユーザーは、フォームへの入力に忙しいときにポップアップ プロンプトを表示したくありません。
W3C イベント
W3C の
DOM 2 イベント仕様 では、いくつかの Mutation イベントも定義されています。これらのイベントは、ドキュメントの DOM 構造が変更されるとトリガーされます。最も一般的なのは DOMSubtreeModified イベントで、DOM が変更されるとトリガーされます。
Mozilla は、このイベントを subtreemodified に設定します。 Mozilla は、ここで言及していない他の w3c イベントもサポートしていません。
Microsoft イベント
Microsoft は多くのイベントを作成しました。いくつかは非常に興味深いものです。
comtextmenu イベントは、ユーザーがマウスの右ボタンをクリックするといつでもトリガーされます。これは悪用するのに十分便利です。 Mozilla もこのイベントをサポートしています。
XML ファイルがインポートされると、readystatechange イベントは一部の読み込みイベントと同様に処理されます。 XMLドキュメントのreadyStateが4になると、ドキュメントがロードされます。 (readyState が何なのかは聞かないでください。機能するので十分です)
驚くべきことは、unload イベントが発生する前に beforeunload イベントがあることです。ページを閉じることをキャンセルするように設計されていましたが、誰も気にしませんでした。
最後に、Microsoft は、mouseover イベントと Mouseout イベントとほぼ同じである、mouseenter イベントと Mouseleave イベントも発明しました。マウスイベントの章を参照してください。
もちろん、上記のイベントは IE でのみサポートされます。
Mozilla イベント
Mozilla には、もちろん
独自のイベントも多数あります。まだ注意深く勉強していません。
イベント ハンドラー
すべてのイベントは、トリガーされるたびにブラウザーによって検出されます。ブラウザは通常、ユーザーがリンクをクリックしたときなど、デフォルトのプロシージャも実行します。しかし、何も起こらないこともあります。
イベント ハンドラーの重要な点は、他のことを実行できることです。イベントの発生時にブラウザにスクリプトを実行させることができます。このように書くと、イベントが発生するたびにスクリプトが実行されます。これらのスクリプトが論理的に役立つ場合、ユーザーは非常に満足するでしょう。
イベントがトリガーされたときにスクリプトを確実に実行できるようにするには、次のように HTML 要素の特定のアクションに対してイベントを登録する必要があります。
这样脚本里的alert('I\'ve been clicked!')就会在click事件发生的时候执行。这就注册了一个事件处理程序。<br>
続行
学習を続けたい場合は、次の章をお読みください。