Provjerite ima li event.target specifičnu klasu koristeći JavaScript

Provjerite Ima Li Event Target Specificnu Klasu Koristeci Javascript



Ponekad programer može htjeti provjeriti odgovara li element koji je pokrenuo događaj (event.target) selektoru do kojeg mu je stalo. Kako to učiniti? JavaScript nudi neke unaprijed definirane metode kao što su ' sadrži () ' i ' odgovara() ” metode za identificiranje specifičnog birača u ciljnom događaju.

Ovaj će post objasniti metode za utvrđivanje ima li event.target određenu klasu ili ne pomoću JavaScripta.

Kako provjeriti ima li event.target određenu klasu pomoću JavaScripta?

Da biste utvrdili ima li event.target određenu klasu, upotrijebite sljedeće JavaScript unaprijed definirane metode:







Pogledajmo kako ove metode rade za određivanje klase u događaju.target.



Metoda 1: Provjerite ima li event.target određenu klasu pomoću metode contains().

Da biste utvrdili pripada li element određenoj klasi, koristite ' sadrži () ' metoda ' classList ” objekt. Metoda contains() koristi se za utvrđivanje je li određena stavka prisutna u kolekciji. Njegovi rezultati' pravi ” ako je stavka prisutna, inače daje “ lažno ”. To je najučinkovitiji način za određivanje klase elementa.



Sintaksa





Slijedite dolje navedenu sintaksu kako biste odredili ima li event.target određenu klasu ili ne koristeći metodu contains():

događaj. cilj . classList . sadrži ( 'ime-klase' )

U gornjoj sintaksi:



  • događaj.cilj ” je pokrenuti događaj za koji će se provjeriti sadrži li određenu klasu ili ne.
  • ' naziv klase ” identificira naziv CSS klase koja je dio pokrenutog događaja.

Povratna vrijednost

Vraća se' pravi ” ako pokrenuti događaj ima navedenu klasu; inače vraća ' lažno ”.

Primjer

Prvo stvorite tri ' div ” elemenata u HTML datoteci koristeći HTML

označiti:

< div razreda = 'center div div1Style' iskaznica = 'div1' > 1

< div razreda = 'div div2Style' iskaznica = 'div2' > dva

< div razreda = 'div div3Style' iskaznica = 'div3' > 3

div >

div >

div >

Stilizirajte elemente pomoću CSS stila. Da biste to učinili, stvorite CSS klasu ' .div ” za sve div elemente:

. div {

podstava : 10 px ;

visina : 100 px ;

širina : 100 px ;

margina : 10 px ;

}

Stvoriti ' .centar ” klasa za postavljanje elemenata u središte stranice:

. centar {

margina : auto ;

}

Sada, za stiliziranje, svaki div pojedinačno stvara CSS klasu za sebe. Za prvi div postavite boju pozadine ' Crvena ' u ' div1Stil ” klasa:

. div1Stil

{

pozadina - boja : Crvena ;

}

Za drugi div postavite boju pozadine ' rotkvica ružičasta ' koristiti ' rgba(194, 54, 77) ' kod u ' div2Stil ” klasa:

. div2Stil

{

pozadina - boja : rgb ( 194 , 54 , 77 ) ;

}

Postavite boju pozadine “ ružičasta ' trećeg diva stvaranjem ' div3Stil ” klasa:

. div3Stil

{

pozadina - boja : ružičasta ;

}

Nakon pokretanja gornjeg HTML koda, izlaz će izgledati ovako:

Sada, u JavaScript datoteci ili ' skripta ” upotrijebite donji kod da provjerite ima li event.target određenu klasu ili ne:

dokument. addEventListener ( 'klik' , funkcija handleClick ( događaj ) {

gdje hasClass = događaj. cilj . classList . sadrži ( 'centar' ) ;

uzbuna ( 'Ovaj div sadrži 'centar' klasu: ' + hasClass ) ;

} ) ;

U gornjem isječku koda:

  • Prvo priložite slušatelja događaja na događaj klika koji će obraditi svaki klik na DOM.
  • Zatim provjerite ima li pokrenuti događaj CSS klasu ' centar ' ili ne uz pomoć ' classList.class() ” metoda.

Izlaz

Gornji GIF pokazuje da div1 sadrži ' centar 'razred kako pokazuje' pravi ', dok div2 i div3 prikazuju ' lažno ' u okviru upozorenja, što znači da ne sadrže ' centar ” razred.

Metoda 2: Provjerite ima li event.target određenu klasu pomoću metode matches().

Druga JavaScript unaprijed definirana metoda pod nazivom ' odgovara() ” može se koristiti za provjeru pripada li određena klasa elementu ili događaju. ' naziv klase ” je jedini parametar potreban za određivanje uključuje li element ili ciljni događaj određenu klasu ili ne.

Sintaksa

Dolje navedena sintaksa koristi se za metodu matches():

događaj. cilj . šibice ( '.class-name' )

U gornjoj sintaksi,

  • događaj.cilj ” je pokrenuti događaj za koji će se provjeriti sadrži li određenu klasu ili ne.
  • ' naziv klase ” označava naziv CSS klase koja je dio pokrenutog događaja. Metoda matches() uzima ime klase zajedno s točkom (.) koja označava riječ ' razreda ”.

Povratna vrijednost

Ako ciljni događaj ima klasu, vraća ' pravi ' inače, ' lažno ” se vraća.

Primjer

U JavaScript datoteci ili oznaci skripte upotrijebite donje retke koda da provjerite ima li event.target određenu klasu ili ne pomoću ' odgovara() ” metoda:

dokument. addEventListener ( 'klik' , funkcija handleClick ( događaj ) {

gdje hasClass = događaj. cilj . šibice ( '.div3Style' ) ;

uzbuna ( 'Ova klasa diva odgovara klasi 'div3Style': ' + hasClass ) ;

} ) ;

U gornjim redcima koda:

  • Prvo priložite slušatelja događaja na događaj klika koji će obraditi svaki klik na DOM.
  • Zatim provjerite je li ' div3Stil ” CSS klasa postoji u pokrenutom događaju koristeći “ odgovara() ” metoda.
  • Ako je prisutan, alert() prikazuje poruku s ' pravi ', inače ' lažno ”.

Izlaz

Gornji GIF pokazuje da samo div3 sadrži ' div3Stil 'razred kako pokazuje' pravi ”.

Zaključak

Da biste utvrdili ima li pokrenuti događaj određenu klasu, upotrijebite JavaScript ' sadrži () ' metoda ili ' odgovara() ” metoda. Međutim, metoda contains() jedan je od najkorisnijih pristupa koji se koristi za određivanje klase elementa. Obje metode vraćaju ' pravi ” ako pokrenuti događaj ima klasu else ” lažno ” se vraća. Ovaj post objasnio je metode za utvrđivanje ima li event.target određenu klasu ili ne pomoću JavaScripta.