JavaScript を使用して event.target に特定のクラスがあるかどうかを確認する

Javascript Wo Shi Yongshite Event Target Ni Te Dingnokurasugaarukadoukawo Que Rensuru



プログラマーは、イベントをトリガーした要素 (event.target) が対象のセレクターと一致するかどうかを確認したい場合があります。これを行う方法? JavaScript には、「 含む() ' と ' マッチ() 」 ターゲット イベントで特定のセレクターを識別するメソッド。

この投稿では、event.target が特定のクラスを持っているか、JavaScript を使用していないかを判断する方法について説明します。

JavaScriptを使用してevent.targetに特定のクラスがあるかどうかを確認する方法は?

event.target に特定のクラスがあるかどうかを判断するには、次の JavaScript 定義済みメソッドを使用します。







これらのメソッドが event.target でクラスを決定するためにどのように機能するかを見てみましょう。



方法 1: contains() メソッドを使用して、event.target に特定のクラスがあるかどうかを確認します。

要素が特定のクラスに属しているかどうかを判断するには、「 含む() 「の方法」 クラスリスト ' 物体。 contains() メソッドは、指定されたアイテムがコレクションに存在するかどうかを識別するために使用されます。その出力」 真実 」 アイテムが存在する場合、そうでない場合、「 間違い 」。これは、要素のクラスを決定する最も効率的な方法です。



構文





以下の構文に従って、event.target に特定のクラスがあるかどうか、contains() メソッドを使用していないかどうかを判断します。

イベント。 目標 . クラスリスト . 含む ( 'クラス名' )

上記の構文では:



  • イベント.ターゲット 」は、特定のクラスが含まれているかどうかをチェックするトリガー イベントです。
  • クラス名 」は、トリガーされたイベントの一部である CSS クラスの名前を識別します。

戻り値

真実 」 トリガーされたイベントに指定されたクラスがある場合。それ以外の場合は、「 間違い 」。

まず、3つの「」を作成します 分周 HTML を使用した HTML ファイル内の ' 要素

鬼ごっこ:

< 分周 クラス = 「中央部 div1Style」 ID = 「div1」 > 1

< 分周 クラス = 'div div2Style' ID = 「div2」 > 2

< 分周 クラス = 「div div3Style」 ID = 「div3」 > 3

分周 >

分周 >

分周 >

CSS スタイルを使用して要素のスタイルを設定します。そのためには、CSS クラスを作成します。 .div 」すべての div 要素に対して:

. 分周 {

パディング : 10px ;

身長 : 100px ;

: 100px ;

マージン : 10px ;

}

。中心 」 ページの中央に要素を設定するためのクラス:

. 中心 {

マージン : 自動 ;

}

ここで、スタイリングのために、すべての div が個別に CSS クラスを作成します。最初の div では、背景色を設定します。 ' の中に ' div1スタイル ' クラス:

. div1スタイル

{

バックグラウンド - : ;

}

2 番目の div では、背景色を設定します。 大根ピンク 」を使用して rgba(194, 54, 77) 」内のコード div2スタイル ' クラス:

. div2スタイル

{

バックグラウンド - : RGB ( 194 54 77 ) ;

}

背景色を設定する」 ピンク 」を作成して 3 番目の div の「 div3スタイル ' クラス:

. div3スタイル

{

バックグラウンド - : ピンク ;

}

上記の HTML コードを実行すると、出力は次のようになります。

ここで、JavaScript ファイルまたは「 脚本 」タグで、以下のコードを使用して、event.target に特定のクラスがあるかどうかを確認します。

資料。 addEventListener ( 'クリック' 、関数ハンドルクリック ( イベント ) {

どこにhasClass = イベント。 目標 . クラスリスト . 含む ( '中心' ) ;

アラート ( 'この div には 'center' クラスが含まれています: ' + hasClass ) ;

} ) ;

上記のコード スニペットでは、次のようになります。

  • まず、DOM でのすべてのクリックを処理するクリック イベントにイベント リスナーをアタッチします。
  • 次に、トリガーされたイベントに CSS クラス「 中心 」の助けを借りて、またはそうではありません classList.class() ' 方法。

出力

上の GIF は、div1 に「 中心 「それが示すクラス」 真実 」、一方、div2 と div3 は「 間違い 」がアラート ボックスに表示されます。つまり、「 中心 ' クラス。

方法 2: match() メソッドを使用して、event.target に特定のクラスがあるかどうかを確認します。

「」と呼ばれる別の JavaScript 定義済みメソッド マッチ() 」を使用して、特定のクラスが要素またはイベントに属しているかどうかを確認できます。 「 クラス名 」は、要素またはターゲット イベントに特定のクラスが含まれているかどうかを判断するために必要な唯一のパラメーターです。

構文

以下に示す構文は、matches() メソッドに使用されます。

イベント。 目標 . マッチ ( '。クラス名' )

上記の構文では、

  • イベント.ターゲット 」は、特定のクラスが含まれているかどうかをチェックするトリガー イベントです。
  • クラス名 」は、トリガーされたイベントの一部である CSS クラスの名前を示します。 matches() メソッドは、クラスの名前と単語を表すドット (.) を一緒に受け取ります。 クラス 」。

戻り値

対象のイベントにクラスがある場合、「 真実 ' そうしないと、 ' 間違い 」が返ってきます。

JavaScript ファイルまたはスクリプト タグで、以下のコード行を使用して、event.target に特定のクラスがあるかどうかを「 マッチ() ' 方法:

資料。 addEventListener ( 'クリック' 、関数ハンドルクリック ( イベント ) {

どこにhasClass = イベント。 目標 . マッチ ( 「.div3Style」 ) ;

アラート ( 'この div のクラスは 'div3Style' クラスと一致します:' + hasClass ) ;

} ) ;

上記のコード行では:

  • まず、DOM でのすべてのクリックを処理するクリック イベントにイベント リスナーをアタッチします。
  • 次に、「 div3スタイル 」 CSS クラスは、「 マッチ() ' 方法。
  • 存在する場合、alert() は「 真実 '、 そうしないと ' 間違い 」。

出力

上記の GIF は、div3 のみに「 div3スタイル 「それが示すクラス」 真実 」。

結論

トリガーされたイベントに指定されたクラスがあるかどうかを判断するには、JavaScript の「 含む() 」メソッドまたは「 マッチ() ' 方法。ただし、contains() メソッドは、要素のクラスを決定するために使用される最も有用なアプローチの 1 つです。どちらのメソッドも「 真実 ' トリガーされたイベントにクラス else がある場合 ' 間違い 」が返ってきます。この投稿では、JavaScript を使用して event.target が特定のクラスを持っているかどうかを判断する方法について説明しました。