Verifique se event.target tem uma classe específica usando JavaScript

Verifique Se Event Target Tem Uma Classe Especifica Usando Javascript



Às vezes, o programador pode querer verificar se o elemento que desencadeou o evento (o event.target) corresponde ao seletor de seu interesse. Como fazer isso? O JavaScript oferece alguns métodos predefinidos, como “ contém() ' e ' fósforos() ” para identificar o seletor específico em um evento de destino.

Esta postagem explicará os métodos para determinar se o event.target tem uma classe específica ou não usando JavaScript.

Como verificar se event.target tem uma classe específica usando JavaScript?

Para determinar se o event.target tem uma classe específica, use os seguintes métodos predefinidos de JavaScript:







Vamos ver como esses métodos funcionam para determinar a classe em um event.target.



Método 1: verifique se event.target tem uma classe específica usando o método contains()

Para determinar se um elemento pertence a uma classe específica, use o comando “ contém() ” método do “ lista de classe ”objeto. O método contains() é usado para identificar se um item especificado está presente na coleção. Suas saídas “ verdadeiro ” se o item estiver presente, senão, dá “ falso ”. É a maneira mais eficiente de determinar a classe de um elemento.



Sintaxe





Siga a sintaxe abaixo para determinar se o event.target tem uma classe específica ou não usando o método contains():

evento. alvo . lista de classe . contém ( 'nome da classe' )

Na sintaxe acima:



  • evento.alvo ” é um evento acionado que será verificado se contém a classe específica ou não.
  • O ' nome da classe ” identifica o nome da classe CSS que faz parte do evento acionado.

Valor de retorno

Ele retorna “ verdadeiro ” se o evento acionado tiver a classe especificada; caso contrário, retorna “ falso ”.

Exemplo

Primeiro, crie três “ div ” elementos em um arquivo HTML usando o HTML

marcação:

< div classe = 'center div div1Style' Eu iria = 'div1' > 1

< div classe = 'div div2Style' Eu iria = 'div2' > dois

< div classe = 'div div3Style' Eu iria = 'div3' > 3

div >

div >

div >

Estilize os elementos usando estilo CSS. Para fazer isso, crie uma classe CSS “ .div ” para todos os elementos div:

. div {

preenchimento : 10px ;

altura : 100px ;

largura : 100px ;

margem : 10px ;

}

Crie um ' .Centro ” classe para definir os elementos no centro da página:

. Centro {

margem : auto ;

}

Agora, para estilizar, cada div cria individualmente uma classe CSS para eles. Para o primeiro div, defina a cor de fundo “ vermelho ' no ' div1Style ' classe:

. div1Style

{

fundo - cor : vermelho ;

}

Para o segundo div, defina a cor de fundo “ rabanete rosa ” usando o “ rgba(194, 54, 77) ” código no “ div2Style ' classe:

. div2Style

{

fundo - cor : rgb ( 194 , 54 , 77 ) ;

}

Defina a cor de fundo “ rosa ” do terceiro div criando o “ div3Style ' classe:

. div3Style

{

fundo - cor : rosa ;

}

Depois de executar o código HTML acima, a saída ficará assim:

Agora, em um arquivo JavaScript ou um “ roteiro ” use o código fornecido abaixo para verificar se o event.target tem uma classe específica ou não:

documento. addEventListener ( 'clique' , identificador de funçãoClique ( evento ) {

onde temClasse = evento. alvo . lista de classe . contém ( 'Centro' ) ;

alerta ( 'Esta div contém a classe 'center': ' + hasClass ) ;

} ) ;

No trecho de código acima:

  • Primeiro, anexe um ouvinte de evento em um evento de clique que manipulará cada clique no DOM.
  • Em seguida, verifique se o evento disparado possui a classe CSS “ Centro ” ou não com a ajuda do “ classList.class() ” método.

Resultado

O GIF acima mostra que div1 contém o “ Centro ” classe como mostra “ verdadeiro ”, enquanto div2 e div3 exibem “ falso ” na caixa de alerta, o que significa que eles não contêm o “ Centro ' classe.

Método 2: verifique se event.target tem uma classe específica usando o método matches()

Outro método predefinido de JavaScript chamado “ fósforos() ” pode ser usado para verificar se uma classe específica pertence a um elemento ou evento. O ' nome da classe ” é o único parâmetro necessário para determinar se um elemento ou um evento de destino inclui uma determinada classe ou não.

Sintaxe

A sintaxe fornecida abaixo é utilizada para o método matches():

evento. alvo . fósforos ( '.nome da classe' )

Na sintaxe acima,

  • evento.alvo ” é um evento acionado que será verificado se contém a classe específica ou não.
  • O ' nome da classe ” indica o nome da classe CSS que faz parte do evento acionado. O método matchs() leva o nome da classe junto com um ponto (.) que denota a palavra “ classe ”.

Valor de retorno

Se o evento de destino tiver uma classe, ele retornará “ verdadeiro ' senão, ' falso ” é retornado.

Exemplo

Em um arquivo JavaScript ou em uma tag de script, use as linhas de código abaixo para verificar se o event.target tem uma classe específica ou não usando o comando “ fósforos() ” método:

documento. addEventListener ( 'clique' , identificador de funçãoClique ( evento ) {

onde temClasse = evento. alvo . fósforos ( '.div3Style' ) ;

alerta ( 'A classe deste div corresponde à classe 'div3Style': ' + hasClass ) ;

} ) ;

Nas linhas de código acima:

  • Primeiro, anexe um ouvinte de evento em um evento de clique que manipulará cada clique no DOM.
  • Em seguida, verifique se o “ div3Style ” A classe CSS existe em um evento acionado usando o “ fósforos() ” método.
  • Se estiver presente, o alert() mostra uma mensagem com “ verdadeiro ', senão ' falso ”.

Resultado

O GIF acima mostra que apenas div3 contém o “ div3Style ” classe como mostra “ verdadeiro ”.

Conclusão

Para determinar se um evento acionado tem uma classe especificada, use o JavaScript “ contém() ” ou o método “ fósforos() ” método. No entanto, o método contains() é uma das abordagens mais úteis usadas para determinar a classe de um elemento. Ambos os métodos retornam “ verdadeiro ” se o evento acionado tiver uma classe else “ falso ” é retornado. Este post explicou os métodos para determinar se o event.target tem uma classe específica ou não usando JavaScript.