JavaScriptのonclickとclickの違いの詳細な説明

JavaScriptのonclickとclickの違いの詳細な説明

これがddEventListeneronの違いです

addEventListener が必要な理由は何ですか?

まずはクリップを見てみましょう:

<div id="box">テスト</div>

コードの使用:

windwo.onload = 関数(){
  var box = document.getElementById("box");
  box.onclick = ()=>console.log("私はbox1です");
  box.onclick = ()=>console.log("私はbox2です");
}
// 実行結果: 私はbox2です

2 番目の onclick イベントが最初の onclick をカバーしているのがわかります。ほとんどの場合、on を使用して目的の効果を得ることができますが、場合によっては複数の同一イベントを実行する必要があり、これは明らかに on を使用して実現することは不可能です。ただし、addEventListener を使用すると、以前のイベントを上書きせずに同じイベントを複数回バインドできます。

addEventListener を使用したコード

window.onload = 関数(){
  var box = document.getElementById("box");
  box.addEventListener("click",()=>console.log("私はbox1です"));
  box.addEventListener("click",()=>console.log("私はbox2です"));
}
// 操作結果: 私はbox1です
            //私はボックス2です

addEventListenerメソッドの最初のパラメータにはイベント名が入ります。記述する必要がないことに注意してください。2 番目のパラメータは関数にすることができます。3 番目のパラメータは、イベントをバブリング ステージで処理するか、キャプチャ ステージで処理するかを示します。true の場合はキャプチャ ステージで処理することを意味します。false の場合はバブリング ステージで処理することを意味します。3 番目のパラメータは省略できます。ほとんどの場合、3 番目のパラメータは必要ありません。3 番目のパラメータを記述しない場合は、デフォルトで false になります。

3番目のパラメータの使用

時々、状況は次のようになります:

<本文>
  <div id = "ボックス">
    <div id = "子"></div>
  </div>
</本文>

ボックスに cclick イベントを追加すると、ボックスを直接クリックしても問題ありませんが、子要素をクリックした場合はどのように実行されますか?

box.addEventListener("click",()=>console.log("box"));
child.addEventListener("click",()=>console.log("child"));
// 実行結果: 子 -> ボックス

つまり、デフォルトではイベント バブリングの実行順序に従います。

ここに画像の説明を挿入

3 番目のパラメータが true の場合、イベントがキャプチャされた順序で実行されます。

要約する

1. onclickイベントは一度に1つのオブジェクトのみを指すことができます

2. addEventListener 1つのイベントに複数のリスナーを登録できる

3. addEventListener任意のDOM要素に有効ですが、onclickはHTML要素に限定されます。

4. addEventListenerリスナーのトリガーフェーズ(キャプチャ/バブル)を制御できます。

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • JavaScript onclickイベントの使い方の詳しい説明
  • JavaScript における click と onclick の本質的な違いと使用法の分析
  • JSは、同じDOM要素上のonClickイベントとonDblClickイベントの共存に対するソリューションを実装します。
  • JavaScript でクリック イベント (onclick) をボタンにバインドする方法
  • JavaScript は onclick イベントを使用して、選択した行の色を変更します。

<<:  MySQL最適化ツール(推奨)

>>:  マークアップ言語 -

推薦する

Webデザイナーの成長体験

<br />まず最初に、私はこのグループの中では完全な新人だということを述べなければなり...

MySQL サーバーの接続、切断、および cmd 操作

mysql コマンドを使用して MySQL サーバーに接続します。 MySQL サーバーが起動したら...

プレーヤー機能を実現するためのvue + element uiのサンプルコード

効果画像のない表示は単なる空虚な言葉です。 1. オーディオをベースにし、elementUI と組み...

このポイントのJavaScriptの基本

目次これ方法オブジェクト内これを隠した厳密モード要約するJavaScript の this も不思議...

熟練デザイナーの7つの原則(1):フォントデザイン

まあ、あなたはデザインの達人かもしれませんし、あるいはそれは大げさすぎるかもしれませんが、少なくとも...

Vueのウォッチリスナーの使い方を説明する記事

目次リスナーウォッチ形式リスナーを設定します。要約するリスナーウォッチ関数名は、リッスンする要素の名...

Vueのキーボードイベントの詳細な説明

目次共通キーエイリアスエイリアスが指定されていないキーシステム修飾キーカスタムキーエイリアス要約する...

Vue は PC カメラを呼び出してリアルタイムで写真を撮る機能を実装します

VueはPCカメラを呼び出してリアルタイムで写真を撮影します。参考までに、具体的な内容は次のとおりで...

Centos は chrony 時間同期サーバー プロセス図を構築します

私の環境: 3 centos7.5 1804マスター 192.168.100.140ノード1 192...

Vue プロジェクトで axios リクエストを使用する方法

目次1. インストール2. カプセル化に問題はない3. ファイルを作成する4. アドレス設定をリクエ...

ユニアプリとミニプログラム(画像とテキスト)を下請けする方法を教えます

目次1. ミニプログラム下請け2. Uniapp 下請けアプレット下請けの手順: 1. manife...

Vueはページを更新するために3つの方法を使用する

プロジェクトを作成しているときに、ユーザーがアクションを実行し、特定の状態を変更し、ページを更新して...

XHTML 入門チュートリアル: XHTML ハイパーリンク

ハイパーリンクはインターネット全体を接続していると言っても過言ではありません。ハイパーリンクは、別の...

フォント宝庫 50 種類の素晴らしい無料英語フォントリソース パート 1

デザイナーは独自のフォント ライブラリを持っているため、プロジェクトの設計時にすぐに使用できます。今...