まず最初に、DOM の 2 つのレベル モードを知る必要があります: DOM0 レベルと DOM2 レベル
DOM0 レベルでは、関数インスタンスの参照を DOM 要素の属性に割り当てることによってイベント ハンドラーが宣言されます。
DOM レベル 0 イベント ハンドラーを宣言します
< ;html>
DOM レベル 0 イベントの例 >
console"> ;
イベントバブリング: ターゲット要素がイベントを処理する機会を得た後、イベント モデルは、ターゲット要素の親要素をチェックして、同じ種類のイベントに対してハンドラーが確立されているかどうかを確認します。存在する場合、親要素のハンドラーも呼び出されます。次に、DOM ツリーの最上位がチェックされるまでその親要素をチェックします。このプロセスはイベント バブリングと呼ばれます。
開始点から DOM ツリーの先頭までのイベントの伝播
DOM レベル 0 のバブリングの例 " src="../scripts /jquery-1.2.1.js"> ;
🎜>
DOM 2 番目 DOM レベル 0 モデルのレベル 0 の欠点は、イベント ハンドラーである関数への参照を保存するためにプロパティが使用されるため、各要素は特定のイベント タイプに対して一度に 1 つのイベント ハンドラーしか登録できないことです。 .プログラム。
DOM レベル 2 イベント モデル (リスナーとも呼ばれる) は、この種の問題を解決するように設計されています。各 DOM 要素は、要素にイベント ハンドラー (リスナー) をアタッチするために使用される addEventListener() という名前のメソッドを定義します。このメソッドの形式は次のとおりです。
addEventListener(enentType,listener,useCapture)
パラメータのeventTypeは、処理される時間のタイプを識別するために使用される文字列です。例: クリック、マウスオーバー、キーダウンなど。
パラメータ リスナーは、要素上で指定された型のハンドラーを確立するために使用される関数 (またはインライン関数) への参照です。
パラメータ useCapture はブール型です。
DOM レベル 2 モデルを使用してイベント ハンドラーを作成します
コードをコピーします
コードは次のとおりです。
DOM レベル 2 イベントの例
以上代码简单说明我们能在同一要素上是同一一つイベント类型建立多个イベント处理程序