Проверете дали event.target има конкретен клас с помощта на JavaScript

Proverete Dali Event Target Ima Konkreten Klas S Pomosta Na Javascript



Понякога програмистът може да иска да провери дали елементът, който е задействал събитието (event.target), съвпада със селектора, който го интересува. Как да стане това? JavaScript предлага някои предварително дефинирани методи като „ съдържа() ' и ' съвпада() ” методи за идентифициране на конкретния селектор в целево събитие.

Тази публикация ще обясни методите за определяне дали event.target има конкретен клас или не с помощта на JavaScript.

Как да проверите дали event.target има конкретен клас с помощта на JavaScript?

За да определите дали event.target има определен клас, използвайте следните предварително дефинирани методи на JavaScript:







Нека да видим как работят тези методи за определяне на клас в event.target.



Метод 1: Проверете дали event.target има конкретен клас, като използвате метода съдържа().

За да определите дали даден елемент принадлежи към определен клас, използвайте „ съдържа() ' метод на ' classList ” обект. Методът съдържа() се използва за идентифициране дали определен елемент присъства в колекцията. Неговите резултати ' вярно ” ако артикулът присъства, в противен случай дава „ невярно ”. Това е най-ефективният начин за определяне на класа на даден елемент.



Синтаксис





Следвайте дадения по-долу синтаксис, за да определите дали event.target има конкретен клас или не, като използвате метода contains():

събитие. цел . classList . съдържа ( име на клас )

В горния синтаксис:



  • event.target ” е задействано събитие, което ще бъде проверено дали съдържа конкретния клас или не.
  • име на клас ” идентифицира името на CSS класа, който е част от задействаното събитие.

Върната стойност

Връща се ' вярно ” ако задействаното събитие има посочения клас; в противен случай се връща ' невярно ”.

Пример

Първо създайте три „ див ” елементи в HTML файл с помощта на HTML

таг:

< див клас = 'center div div1Style' документ за самоличност = 'div1' > 1

< див клас = 'div div2Style' документ за самоличност = 'div2' > две

< див клас = 'div div3Style' документ за самоличност = 'div3' > 3

див >

див >

див >

Оформете елементите с помощта на CSS стил. За да направите това, създайте CSS клас ' .div ” за всички елементи div:

. див {

подплата : 10px ;

височина : 100 пиксела ;

ширина : 100 пиксела ;

марж : 10px ;

}

Създавам ' .център ” клас за настройка на елементите в центъра на страницата:

. център {

марж : Автоматичен ;

}

Сега, за стилизиране, всеки div поотделно създава CSS клас за тях. За първия div задайте цвета на фона „ червен ' в ' div1Style ” клас:

. div1Style

{

заден план - цвят : червен ;

}

За втория div задайте цвета на фона „ репички розови ' използвайки ' rgba(194, 54, 77) ” код в „ div2Style ” клас:

. div2Style

{

заден план - цвят : rgb ( 194 , 54 , 77 ) ;

}

Задайте цвета на фона ' розово ” на третия div чрез създаване на „ div3Style ” клас:

. div3Style

{

заден план - цвят : розово ;

}

След стартиране на горния HTML код изходът ще изглежда така:

Сега, в JavaScript файл или „ сценарий ”, използвайте предоставения по-долу код, за да проверите дали event.target има конкретен клас или не:

документ. addEventListener ( 'клик' , функция handleClick ( събитие ) {

където hasClass = събитие. цел . classList . съдържа ( 'център' ) ;

тревога ( „Този ​​div съдържа „централен“ клас:“ + hasClass ) ;

} ) ;

В горния кодов фрагмент:

  • Първо, прикачете слушател на събития към събитие за кликване, което ще обработва всяко кликване върху DOM.
  • След това проверете дали задействаното събитие има CSS клас „ център ” или не с помощта на „ classList.class() ” метод.

Изход

Горният GIF показва, че div1 съдържа „ център „клас, както показва“ вярно “, докато div2 и div3 показват „ невярно “ в полето за предупреждение, което означава, че не съдържат „ център ” клас.

Метод 2: Проверете дали event.target има конкретен клас, като използвате метода matches().

Друг предварително дефиниран метод на JavaScript, наречен „ съвпада() ” може да се използва за проверка дали определен клас принадлежи към елемент или събитие. „ име на клас ” е единственият параметър, необходим за определяне дали даден елемент или целево събитие включва определен клас или не.

Синтаксис

Даденият по-долу синтаксис се използва за метода matches():

събитие. цел . мачове ( '.class-name' )

В горния синтаксис,

  • event.target ” е задействано събитие, което ще бъде проверено дали съдържа конкретния клас или не.
  • име на клас ” показва името на CSS класа, който е част от задействаното събитие. Методът matches() взема името на класа заедно с точка (.), която обозначава думата „ клас ”.

Върната стойност

Ако целевото събитие има клас, то връща „ вярно 'друго', невярно ” се връща.

Пример

В JavaScript файл или маркер на скрипт използвайте редовете от код по-долу, за да проверите дали event.target има конкретен клас или не, като използвате „ съвпада() ” метод:

документ. addEventListener ( 'клик' , функция handleClick ( събитие ) {

където hasClass = събитие. цел . мачове ( „.div3Style“ ) ;

тревога ( „Класът на този div съответства на класа „div3Style“:“ + hasClass ) ;

} ) ;

В горните редове код:

  • Първо, прикачете слушател на събития към събитие за кликване, което ще обработва всяко кликване върху DOM.
  • След това проверете дали „ div3Style ” CSS клас съществува в задействано събитие с помощта на „ съвпада() ” метод.
  • Ако е налице, alert() показва съобщение с „ вярно “, иначе “ невярно ”.

Изход

Горният GIF показва, че само div3 съдържа „ div3Style „клас, както показва“ вярно ”.

Заключение

За да определите дали дадено задействано събитие има определен клас, използвайте JavaScript „ съдържа() ” метод или „ съвпада() ” метод. Въпреки това, методът contains() е един от най-полезните подходи, използвани за определяне на класа на елемент. И двата метода връщат ' вярно ' ако задействаното събитие има клас else ' невярно ” се връща. Тази публикация обяснява методите за определяне дали event.target има конкретен клас или не с помощта на JavaScript.