JavaScript の DOM イベント モデルでは、オブジェクトの addEventListener() メソッドを呼び出すことによってイベントが登録されます。使用方法は次のとおりです。 パラメータの説明は次のとおりです。
例1次の例では、addEventListener() を使用して、すべてのボタンのクリック イベントを登録します。まず、document の getElementsByTagName() メソッドを呼び出してすべてのボタン オブジェクトを取得します。次に、for ステートメントを使用してボタン セット (btn) を走査し、addEventListener() メソッドを使用して各ボタンのイベント関数を登録し、現在のオブジェクトによって表示されるテキストを取得します。 <button id="btn1" onclick="btn1();">ボタン 1</button> <button id="btn2" onclick="btn2(event);">ボタン 2</button> <スクリプト> var btn = document.getElementsByTagName("button"); //すべてのボタンをキャプチャする for(var i in btn){ //ボタンコレクションを走査する btn[i].addEventListener("click", function(){ アラート(this.innerHTML); }, true); //各ボタンオブジェクトのイベント処理関数を登録し、キャプチャフェーズでの応答を定義します} </スクリプト> ブラウザでプレビューし、さまざまなボタンをクリックすると、ブラウザにボタン名が自動的に表示されます。効果は図に示されています: addEventListener() メソッドを使用して、複数のオブジェクトに対して同じイベント処理関数を登録したり、同じオブジェクトに対して複数のイベント処理関数を登録したりします。同じオブジェクトに対して複数のイベント ハンドラーを登録することは、モジュール開発に非常に便利です。 例2次の例では、段落テキストに対して mouseover と mouseout の 2 つのイベントが登録されています。カーソルが段落テキスト上に移動すると、青い背景で表示され、カーソルが段落テキストの外に出ると、自動的に赤い背景で表示されます。この方法では、ドキュメント構造を破壊したり、段落テキストに複数のイベント属性を追加したりする必要がなくなります。 <p id="p1">オブジェクトに複数のイベントを登録する</p> <スクリプト> var p1 = document.getElementById("p1"); //段落要素のハンドルを取得します p1.addEventListener("mouseover", function () { this.style.background = '青'; }, true); //段落要素の最初のイベントハンドラを登録します p1.addEventListener("mouseout", function () { this.style.background = '青'; }, true); //段落要素の2番目のイベントハンドラを登録します</script> IE イベント モデルは、attachEvent() メソッドを使用してイベントを登録します。使用方法は次のとおりです。 要素.attachEvent(etype、イベント名) パラメータリストは次のとおりです。
例3次の例では、段落タグ <p> に mouseover と mouseout の 2 つのイベントが登録されています。カーソルが通過すると段落テキストの背景色は青になり、カーソルが離れると背景色は赤になります。 <p id="p1">オブジェクトに複数のイベントを登録する</p> <スクリプト> var p1 = document.getElementById("p1"); //段落要素をキャプチャ p1.attachEvent("onmouseover", function () { this.style.background = '青'; }); //マウスオーバーイベントを登録 p1.attachEvent("onmouseout", function () { this.style.background = '赤'; }); // マウスアウトイベントを登録する</script> イベントを登録するためにattachEvent()を使用すると、イベント処理関数の呼び出しオブジェクトは現在のイベントオブジェクト自体ではなく、ウィンドウオブジェクトになります。したがって、イベント関数内の this は現在のオブジェクトではなく、ウィンドウを指します。現在のオブジェクトを取得する場合は、イベントの srcElement 属性を使用する必要があります。 IE イベント モデルの attachmentEvent() メソッドの最初のパラメーターはイベント タイプ名であり、先頭に on を付ける必要がります。addEventListener() メソッドを使用する場合、click のように on プレフィックスは不要です。 登録イベントを実装するための JS addEventListener() および attachEvent() メソッドに関するこの記事はこれで終わりです。関連する JS addEventListener() および attachEvent() コンテンツの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: 要素の属性を削除する JS removeAttribute() メソッド
>>: Vue における ref と $refs の紹介と使用例
ウェブサイトの互換性のデバッグは本当に面倒です。今日のウェブサイト デザイナーは、以前よりもはるかに...
目次序文1. NJSモジュールをインストールする方法1: NJSモジュールを動的にロードする方法2:...
目次フロントエンドルーティングとは何ですか?フロントエンドルーティングを実装するにはどうすればいいで...
1 はじめにApache Storm は、Hadoop と同様に、大量のデータを処理するために使用で...
Compose のいくつかの部分は、何らかの方法で環境変数を扱います。このチュートリアルは、必要な情...
シンプルなセカンダリメニューを動的に実装するマウスを第 1 レベルのラベル上に置くと、マウスが小さな...
データベースでは、UNION キーワードと UNION ALL キーワードの両方が 2 つの結果セッ...
目次1. はじめに2. データを消去するいくつかの方法2.1 ref() の使用2.2 スライスの使...
序文TCP サーバの最大同時接続数に関して、「ポート番号の上限が 65535 であるため、TCP サ...
1. まず本文にulタグを追加します <!-- 順序なしリスト --> <ul i...
目次1. MySQLアーキテクチャの分析1.1 コネクタ1.2 クエリキャッシュ1.3 アナライザー...
設定が有効にならない場合が多いため、幅や高さなどをテーブル内で直接設定しないことをお勧めします。スタ...
この記事では、例を使用して、MySQL データベースの基本的な知識と操作について説明します。ご参考ま...
1. [admin@JD ~]$ cd opt #ルートディレクトリにoptと入力2. [admin...
目次1. ルートナビゲーション2. 履歴状態管理API (1)ハッシュチェンジイベント(2)ポップス...