Semak sama ada event.target mempunyai Kelas Khusus Menggunakan JavaScript

Semak Sama Ada Event Target Mempunyai Kelas Khusus Menggunakan Javascript



Kadangkala, pengaturcara mungkin ingin menyemak sama ada elemen yang mencetuskan acara (acara.sasaran) sepadan dengan pemilih yang mereka minati. Bagaimana untuk melakukan ini? JavaScript menawarkan beberapa kaedah yang telah ditetapkan seperti “ mengandungi() ” dan “ perlawanan() ” kaedah untuk mengenal pasti pemilih khusus dalam acara sasaran.

Siaran ini akan menerangkan kaedah untuk menentukan sama ada event.target mempunyai kelas tertentu atau tidak menggunakan JavaScript.

Bagaimana untuk Semak sama ada event.target mempunyai Kelas Khusus Menggunakan JavaScript?

Untuk menentukan sama ada event.target mempunyai kelas tertentu, gunakan kaedah pratakrif JavaScript berikut:







Mari lihat cara kaedah ini berfungsi untuk menentukan kelas dalam acara.sasaran.



Kaedah 1: Semak sama ada event.target mempunyai Kaedah Penggunaan Kelas Tertentu mengandungi().

Untuk menentukan sama ada sesuatu elemen tergolong dalam kelas tertentu, gunakan ' mengandungi() ' kaedah ' Senarai kelas ” objek. Kaedah contains() digunakan untuk mengenal pasti sama ada item tertentu terdapat dalam koleksi. Keluarannya ' benar 'jika item itu ada, jika tidak, ia memberikan ' salah ”. Ia adalah cara paling berkesan untuk menentukan kelas elemen.



Sintaks





Ikuti sintaks yang diberikan di bawah untuk menentukan sama ada event.target mempunyai kelas tertentu atau tidak menggunakan kaedah contains():

peristiwa. sasaran . Senarai kelas . mengandungi ( 'nama kelas' )

Dalam sintaks di atas:



  • acara.sasaran ” ialah peristiwa tercetus yang akan disemak sama ada ia mengandungi kelas tertentu atau tidak.
  • ' nama kelas ” mengenal pasti nama kelas CSS yang merupakan sebahagian daripada peristiwa yang dicetuskan.

Nilai pulangan

Ia kembali ' benar ” jika peristiwa yang dicetuskan mempunyai kelas yang ditentukan; jika tidak, ia kembali ' salah ”.

Contoh

Pertama, buat tiga ' div ” elemen dalam fail HTML menggunakan HTML

tag:

< div kelas = 'center div div1Style' ID = 'div1' > 1

< div kelas = 'div div2Style' ID = 'div2' > dua

< div kelas = 'div div3Style' ID = 'div3' > 3

div >

div >

div >

Gayakan elemen menggunakan penggayaan CSS. Untuk berbuat demikian, buat kelas CSS “ .div ” untuk semua elemen div:

. div {

padding : 10px ;

ketinggian : 100px ;

lebar : 100px ;

margin : 10px ;

}

Buat ' .pusat ” kelas untuk menetapkan elemen di tengah halaman:

. pusat {

margin : auto ;

}

Kini, untuk penggayaan, setiap div secara individu mencipta kelas CSS untuk mereka. Untuk div pertama, tetapkan warna latar belakang “ merah ' di dalam ' div1Style ” kelas:

. div1Style

{

latar belakang - warna : merah ;

}

Untuk div kedua, tetapkan warna latar belakang “ merah jambu lobak ' menggunakan ' rgba(194, 54, 77) 'kod dalam' div2Style ” kelas:

. div2Style

{

latar belakang - warna : rgb ( 194 , 54 , 77 ) ;

}

Tetapkan warna latar belakang “ merah jambu ” daripada div ketiga dengan mencipta “ div3Style ” kelas:

. div3Style

{

latar belakang - warna : merah jambu ;

}

Selepas menjalankan kod HTML di atas, output akan kelihatan seperti ini:

Sekarang, dalam fail JavaScript atau ' skrip ”, gunakan kod yang disediakan di bawah untuk menyemak sama ada event.target mempunyai kelas tertentu atau tidak:

dokumen. addEventListener ( 'klik' , pemegang fungsiKlik ( peristiwa ) {

di mana hasClass = peristiwa. sasaran . Senarai kelas . mengandungi ( 'pusat' ) ;

amaran ( 'Div ini mengandungi kelas 'pusat': ' + hasClass ) ;

} ) ;

Dalam coretan kod di atas:

  • Mula-mula, lampirkan pendengar acara pada acara klik yang akan mengendalikan setiap klik pada DOM.
  • Kemudian, semak sama ada peristiwa yang dicetuskan mempunyai kelas CSS “ pusat ” atau tidak dengan bantuan “ classList.class() ” kaedah.

Pengeluaran

GIF di atas menunjukkan bahawa div1 mengandungi ' pusat 'kelas seperti yang ditunjukkan' benar ”, manakala div2 dan div3 memaparkan “ salah ” dalam kotak amaran, yang bermaksud ia tidak mengandungi “ pusat ” kelas.

Kaedah 2: Semak sama ada event.target mempunyai Kelas Khusus Menggunakan Kaedah matches().

Satu lagi kaedah pratakrif JavaScript yang dipanggil ' perlawanan() ” boleh digunakan untuk menyemak sama ada kelas tertentu tergolong dalam elemen atau peristiwa. ' nama kelas ” ialah satu-satunya parameter yang diperlukan untuk menentukan sama ada elemen atau acara sasaran termasuk kelas tertentu atau tidak.

Sintaks

Sintaks yang diberikan di bawah digunakan untuk kaedah matches():

peristiwa. sasaran . perlawanan ( '.nama-kelas' )

Dalam sintaks di atas,

  • acara.sasaran ” ialah peristiwa tercetus yang akan disemak sama ada ia mengandungi kelas tertentu atau tidak.
  • ' nama kelas ” menunjukkan nama kelas CSS yang merupakan sebahagian daripada peristiwa yang dicetuskan. Kaedah matches() mengambil nama kelas bersama-sama dengan titik (.) yang menandakan perkataan “ kelas ”.

Nilai pulangan

Jika acara sasaran mempunyai kelas, ia mengembalikan “ benar 'lain,' salah ” dikembalikan.

Contoh

Dalam fail JavaScript atau teg skrip, gunakan baris kod di bawah untuk menyemak sama ada event.target mempunyai kelas tertentu atau tidak dengan menggunakan “ perlawanan() ' kaedah:

dokumen. addEventListener ( 'klik' , pemegang fungsiKlik ( peristiwa ) {

di mana hasClass = peristiwa. sasaran . perlawanan ( '.div3Style' ) ;

amaran ( 'Kelas div ini sepadan dengan kelas 'div3Style': ' + hasClass ) ;

} ) ;

Dalam baris kod di atas:

  • Mula-mula, lampirkan pendengar acara pada acara klik yang akan mengendalikan setiap klik pada DOM.
  • Kemudian, semak sama ada ' div3Style 'Kelas CSS wujud dalam peristiwa yang dicetuskan menggunakan ' perlawanan() ” kaedah.
  • Jika ia hadir, amaran() menunjukkan mesej dengan “ benar ”, lain “ salah ”.

Pengeluaran

GIF di atas menunjukkan bahawa hanya div3 mengandungi ' div3Style 'kelas seperti yang ditunjukkan' benar ”.

Kesimpulan

Untuk menentukan sama ada peristiwa yang dicetuskan mempunyai kelas tertentu, gunakan JavaScript “ mengandungi() ' kaedah atau ' perlawanan() ” kaedah. Walau bagaimanapun, kaedah contains() ialah salah satu pendekatan paling berguna yang digunakan untuk menentukan kelas elemen. Kedua-dua kaedah mengembalikan ' benar 'jika peristiwa yang dicetuskan mempunyai kelas lain' salah ” dikembalikan. Siaran ini menerangkan kaedah untuk menentukan sama ada event.target mempunyai kelas tertentu atau tidak menggunakan JavaScript.