Controleer of event.target een specifieke klasse heeft met behulp van JavaScript

Controleer Of Event Target Een Specifieke Klasse Heeft Met Behulp Van Javascript



Soms wil de programmeur controleren of het element dat de gebeurtenis veroorzaakte (de event.target) overeenkomt met de selector waar hij om geeft. Hoe doe je dit? JavaScript biedt enkele vooraf gedefinieerde methoden zoals ' bevat() ' en ' wedstrijden() ” methoden om de specifieke selector in een doelgebeurtenis te identificeren.

In dit bericht worden de methoden uitgelegd om te bepalen of het event.target een bepaalde klasse heeft of geen JavaScript gebruikt.

Hoe te controleren of event.target een specifieke klasse heeft met behulp van JavaScript?

Gebruik de volgende vooraf gedefinieerde JavaScript-methoden om te bepalen of event.target een bepaalde klasse heeft:







Laten we eens kijken hoe deze methoden werken voor het bepalen van klasse in een event.target.



Methode 1: Controleer of event.target een specifieke klasse heeft met behulp van de methode contain().

Om te bepalen of een element tot een bepaalde klasse behoort, gebruikt u de ' bevat() ” methode van de “ classLijst ' object. De methode contain() wordt gebruikt om vast te stellen of een opgegeven item aanwezig is in de verzameling. Zijn uitgangen ' WAAR ” als het item aanwezig is, anders geeft het “ vals ”. Het is de meest efficiënte manier om de klasse van een element te bepalen.



Syntaxis





Volg de onderstaande syntaxis om te bepalen of event.target een specifieke klasse heeft of niet met behulp van de contain() methode:

evenement. doelwit . classLijst . bevat ( 'naam van de klasse' )

In de bovenstaande syntaxis:



  • gebeurtenis.doel ” is een geactiveerde gebeurtenis die wordt gecontroleerd of deze de specifieke klasse bevat of niet.
  • De ' naam van de klasse ” identificeert de naam van de CSS-klasse die deel uitmaakt van de geactiveerde gebeurtenis.

Winstwaarde

Het keert terug ' WAAR ” als de getriggerde gebeurtenis de gespecificeerde klasse heeft; anders keert het terug ' vals ”.

Voorbeeld

Maak eerst drie ' div 'elementen in een HTML-bestand met behulp van de HTML

label:

< div klas = 'midden div div1Stijl' ID kaart = 'div1' > 1

< div klas = 'div div2Stijl' ID kaart = 'div2' > twee

< div klas = 'div div3Stijl' ID kaart = 'div3' > 3

div >

div >

div >

Style de elementen met behulp van CSS-styling. Maak hiervoor een CSS-klasse ' .div ” voor alle div-elementen:

. div {

opvulling : 10px ;

hoogte : 100px ;

breedte : 100px ;

marge : 10px ;

}

Maak een ' .centrum ” klasse voor het instellen van de elementen in het midden van de pagina:

. centrum {

marge : auto ;

}

Nu, voor styling, maakt elke div afzonderlijk een CSS-klasse voor hen. Stel voor de eerste div de achtergrondkleur in ' rood ' in de ' div1Stijl ' klas:

. div1Stijl

{

achtergrond - kleur : rood ;

}

Stel voor de tweede div de achtergrondkleur in ' radijs roze ' de ... gebruiken ' RGBA(194, 54, 77) ”-code in de “ div2Stijl ' klas:

. div2Stijl

{

achtergrond - kleur : RGB ( 194 , 54 , 77 ) ;

}

Stel de achtergrondkleur in ' roze ” van de derde div door de “ div3Stijl ' klas:

. div3Stijl

{

achtergrond - kleur : roze ;

}

Na het uitvoeren van de bovenstaande HTML-code ziet de uitvoer er als volgt uit:

Nu, in een JavaScript-bestand of een ' script ”-tag, gebruik dan de onderstaande code om te controleren of event.target een specifieke klasse heeft of niet:

document. addEventListener ( 'Klik' , functie handleClick ( evenement ) {

waar heeftClass = evenement. doelwit . classLijst . bevat ( 'centrum' ) ;

alarm ( 'Deze div bevat de klasse 'center': ' + heeftKlasse ) ;

} ) ;

In het bovenstaande codefragment:

  • Koppel eerst een gebeurtenislistener aan een klikgebeurtenis die elke klik op DOM afhandelt.
  • Controleer vervolgens of de getriggerde gebeurtenis de CSS-klasse ' centrum ” of niet met behulp van de “ classLijst.class() ” methode.

Uitgang

De bovenstaande GIF laat zien dat div1 de ' centrum ” klasse zoals het laat zien “ WAAR ”, terwijl div2 en div3 “ vals ' in het waarschuwingsvenster, wat betekent dat ze niet de ' centrum ' klas.

Methode 2: Controleer of event.target een specifieke klasse heeft met behulp van de methode matches().

Een andere vooraf gedefinieerde JavaScript-methode genaamd ' wedstrijden() ” kan worden gebruikt om te controleren of een specifieke klasse bij een element of een gebeurtenis hoort. De ' naam van de klasse ” is de enige parameter die nodig is om te bepalen of een element of een doelgebeurtenis een bepaalde klasse bevat of niet.

Syntaxis

De onderstaande syntaxis wordt gebruikt voor de methode matches():

evenement. doelwit . wedstrijden ( '.naam van de klasse' )

In de bovenstaande syntaxis,

  • gebeurtenis.doel ” is een geactiveerde gebeurtenis die wordt gecontroleerd of deze de specifieke klasse bevat of niet.
  • De ' naam van de klasse ” geeft de naam aan van de CSS-klasse die deel uitmaakt van de geactiveerde gebeurtenis. De methode matches() neemt de naam van de klasse samen met een punt (.) die het woord ' klas ”.

Winstwaarde

Als de doelgebeurtenis een klasse heeft, retourneert deze ' WAAR ' anders ' vals ” wordt teruggestuurd.

Voorbeeld

Gebruik in een JavaScript-bestand of een scripttag de onderstaande coderegels om te controleren of het event.target een specifieke klasse heeft of niet door de ' wedstrijden() ” methode:

document. addEventListener ( 'Klik' , functie handleClick ( evenement ) {

waar heeftClass = evenement. doelwit . wedstrijden ( '.div3Stijl' ) ;

alarm ( 'De klasse van deze div komt overeen met de klasse 'div3Style': ' + heeftKlasse ) ;

} ) ;

In de bovenstaande regels code:

  • Koppel eerst een gebeurtenislistener aan een klikgebeurtenis die elke klik op DOM afhandelt.
  • Controleer vervolgens of de “ div3Stijl ' CSS-klasse bestaat in een getriggerde gebeurtenis met behulp van de ' wedstrijden() ” methode.
  • Als het aanwezig is, toont de alert() een bericht met ' WAAR ”, anders “ vals ”.

Uitgang

De bovenstaande GIF laat zien dat alleen div3 de ' div3Stijl ” klasse zoals het laat zien “ WAAR ”.

Conclusie

Gebruik JavaScript om te bepalen of een getriggerde gebeurtenis een bepaalde klasse heeft bevat() ” methode of de “ wedstrijden() ” methode. De methode contain() is echter een van de handigste benaderingen die worden gebruikt om de klasse van een element te bepalen. Beide methoden retourneren ' WAAR ” als de getriggerde gebeurtenis een klasse anders heeft “ vals ” wordt teruggestuurd. In dit bericht werden de methoden uitgelegd om te bepalen of event.target een bepaalde klasse heeft of geen JavaScript gebruikt.