Zkontrolujte, zda má event.target specifickou třídu pomocí JavaScriptu

Zkontrolujte Zda Ma Event Target Specifickou Tridu Pomoci Javascriptu



Někdy může programátor chtít zkontrolovat, zda prvek, který událost spustil (event.target), odpovídá selektoru, který ho zajímá. Jak to udělat? JavaScript nabízí některé předdefinované metody, jako např. obsahuje() ' a ' zápasy() ” metody k identifikaci konkrétního selektoru v cílové události.

Tento příspěvek vysvětlí metody k určení, zda má event.target konkrétní třídu, nebo nepoužívá JavaScript.

Jak zkontrolovat, zda má event.target specifickou třídu pomocí JavaScriptu?

Chcete-li zjistit, zda má event.target konkrétní třídu, použijte následující předdefinované metody JavaScriptu:







Podívejme se, jak tyto metody fungují pro určení třídy v event.target.



Metoda 1: Zkontrolujte, zda má event.target specifickou třídu pomocí metody obsahuje().

Chcete-li zjistit, zda prvek patří do konkrétní třídy, použijte „ obsahuje() “ metoda “ classList “objekt. Metoda obsahuje() se používá k identifikaci, zda je v kolekci přítomna zadaná položka. Jeho výstupy' skutečný 'pokud je položka přítomna, jinak udává ' Nepravdivé “. Je to nejúčinnější způsob, jak určit třídu prvku.



Syntax





Postupujte podle níže uvedené syntaxe a určete, zda má event.target konkrétní třídu nebo ne, pomocí metody obsahuje():

událost. cílová . classList . obsahuje ( 'jméno třídy' )

Ve výše uvedené syntaxi:



  • událost.cíl ” je spouštěná událost, která bude zkontrolována, zda obsahuje konkrétní třídu či nikoli.
  • ' jméno třídy ” označuje název třídy CSS, která je součástí spouštěné události.

Návratová hodnota

Vrací se' skutečný ” pokud má spouštěná událost zadanou třídu; jinak se vrátí „ Nepravdivé “.

Příklad

Nejprve vytvořte tři „ div ” prvky v souboru HTML pomocí HTML

štítek:

< div třída = 'center div div1Style' id = 'div1' > 1

< div třída = 'div div2Style' id = 'div2' > dva

< div třída = 'div div3Style' id = 'div3' > 3

div >

div >

div >

Upravte styl prvků pomocí stylů CSS. Chcete-li to provést, vytvořte třídu CSS „ .div ” pro všechny prvky div:

. div {

vycpávka : 10 pixelů ;

výška : 100 pixelů ;

šířka : 100 pixelů ;

okraj : 10 pixelů ;

}

Vytvořit ' .centrum ” třída pro nastavení prvků ve středu stránky:

. centrum {

okraj : auto ;

}

Nyní, pro stylování, každý div samostatně vytvoří pro ně třídu CSS. Pro první div nastavte barvu pozadí “ Červené “ v „ div1Style “třída:

. div1Style

{

Pozadí - barva : Červené ;

}

Pro druhý div nastavte barvu pozadí ' ředkvička růžová ' za použití ' rgba(194, 54, 77) “kód v “ div2Style “třída:

. div2Style

{

Pozadí - barva : rgb ( 194 , 54 , 77 ) ;

}

Nastavte barvu pozadí ' růžový “ třetího div vytvořením „ div3Style “třída:

. div3Style

{

Pozadí - barva : růžový ;

}

Po spuštění výše uvedeného HTML kódu bude výstup vypadat takto:

Nyní v souboru JavaScript nebo „ skript ”, použijte níže uvedený kód ke kontrole, zda event.target má specifickou třídu nebo ne:

dokument. addEventListener ( 'kliknout' , funkce handleClick ( událost ) {

kde hasTřída = událost. cílová . classList . obsahuje ( 'centrum' ) ;

upozornění ( 'Tento div obsahuje 'středovou' třídu: ' + hasClass ) ;

} ) ;

Ve výše uvedeném úryvku kódu:

  • Nejprve připojte k události kliknutí posluchač události, který zpracuje každé kliknutí na DOM.
  • Poté zkontrolujte, zda má spouštěná událost třídu CSS „ centrum “ nebo ne s pomocí „ classList.class() “ metoda.

Výstup

Výše uvedený GIF ukazuje, že div1 obsahuje „ centrum “třída, jak ukazuje” skutečný “, zatímco div2 a div3 zobrazují “ Nepravdivé “ ve výstražném poli, což znamená, že neobsahují „ centrum “třída.

Metoda 2: Zkontrolujte, zda má event.target specifickou třídu pomocí metody match()

Další předdefinovaná metoda JavaScriptu s názvem „ zápasy() ” lze použít ke kontrole, zda konkrétní třída patří k prvku nebo události. ' jméno třídy ” je jediný parametr potřebný k určení, zda prvek nebo cílová událost zahrnuje určitou třídu či nikoli.

Syntax

Níže uvedená syntaxe se používá pro metodu match():

událost. cílová . zápasy ( '.jméno třídy' )

Ve výše uvedené syntaxi

  • událost.cíl ” je spouštěná událost, která bude zkontrolována, zda obsahuje konkrétní třídu nebo ne.
  • ' jméno třídy ” označuje název třídy CSS, která je součástí spouštěné události. Metoda match() přebírá název třídy spolu s tečkou (.), která označuje slovo „ třída “.

Návratová hodnota

Pokud má cílová událost třídu, vrátí „ skutečný “jinak,” Nepravdivé “ je vráceno.

Příklad

V souboru JavaScript nebo ve značce skriptu použijte níže uvedené řádky kódu ke kontrole, zda má event.target specifickou třídu, nebo ne pomocí „ zápasy() “ metoda:

dokument. addEventListener ( 'kliknout' , funkce handleClick ( událost ) {

kde hasTřída = událost. cílová . zápasy ( '.div3Style' ) ;

upozornění ( 'Třída této div odpovídá třídě 'div3Style': ' + hasClass ) ;

} ) ;

Ve výše uvedených řádcích kódu:

  • Nejprve připojte k události kliknutí posluchač události, který zpracuje každé kliknutí na DOM.
  • Poté zkontrolujte, zda „ div3Style Třída CSS existuje ve spouštěné události pomocí „ zápasy() “ metoda.
  • Pokud je přítomen, alert() zobrazí zprávu s „ skutečný “, jinak “ Nepravdivé “.

Výstup

Výše uvedený GIF ukazuje, že pouze div3 obsahuje „ div3Style “třída, jak ukazuje” skutečný “.

Závěr

Chcete-li zjistit, zda má spouštěná událost zadanou třídu, použijte JavaScript „ obsahuje() “ metoda nebo “ zápasy() “ metoda. Metoda obsahuje() je však jedním z nejužitečnějších přístupů používaných k určení třídy prvku. Obě metody vracejí „ skutečný “ pokud má spuštěná událost třídu else “ Nepravdivé “ je vráceno. Tento příspěvek vysvětlil metody k určení, zda má event.target konkrétní třídu nebo ne pomocí JavaScriptu.