Kiểm tra xem event.target có Lớp cụ thể bằng JavaScript không

Kiem Tra Xem Event Target Co Lop Cu The Bang Javascript Khong



Đôi khi, lập trình viên có thể muốn kiểm tra xem phần tử đã kích hoạt sự kiện (sự kiện. target) có khớp với bộ chọn mà họ quan tâm hay không. làm như thế nào? JavaScript cung cấp một số phương thức được xác định trước như “ chứa() ' và ' diêm() ” để xác định bộ chọn cụ thể trong một sự kiện mục tiêu.

Bài đăng này sẽ giải thích các phương pháp để xác định xem event.target có một lớp cụ thể hay không sử dụng JavaScript.

Làm cách nào để kiểm tra xem event.target có Lớp cụ thể bằng JavaScript không?

Để xác định xem event.target có một lớp cụ thể hay không, hãy sử dụng các phương thức xác định trước JavaScript sau:







Hãy xem cách các phương thức này hoạt động để xác định lớp trong event.target.



Phương pháp 1: Kiểm tra xem event.target có Lớp cụ thể hay không bằng Phương thức chứa ()

Để xác định xem một phần tử có thuộc về một lớp cụ thể hay không, hãy sử dụng “ chứa() ” phương pháp của “ danh sách lớp học ' sự vật. Phương thức chứa () được sử dụng để xác định xem một mục được chỉ định có trong bộ sưu tập hay không. Đầu ra của nó “ thật ” nếu vật phẩm hiện diện, nếu không, nó mang lại “ sai ”. Đó là cách hiệu quả nhất để xác định lớp của phần tử.



cú pháp





Thực hiện theo cú pháp dưới đây để xác định xem event.target có một lớp cụ thể hay không bằng cách sử dụng phương thức contains():

biến cố. Mục tiêu . danh sách lớp học . chứa ( 'tên lớp' )

Trong cú pháp trên:



  • sự kiện.mục tiêu ” là một sự kiện được kích hoạt sẽ được kiểm tra xem nó có chứa lớp cụ thể hay không.
  • Các ' tên lớp ” xác định tên của lớp CSS là một phần của sự kiện được kích hoạt.

Giá trị trả về

Nó trở lại ' thật ” nếu sự kiện được kích hoạt có lớp được chỉ định; nếu không, nó trả về “ sai ”.

Thí dụ

Đầu tiên, tạo ba “ div ” các phần tử trong tệp HTML bằng cách sử dụng HTML

nhãn:

< div lớp = 'trung tâm div div1Style' Tôi = 'div1' > 1

< div lớp = 'div div2Style' Tôi = 'div2' > hai

< div lớp = 'div div3Style' Tôi = 'div3' > 3

div >

div >

div >

Tạo kiểu cho các phần tử bằng cách sử dụng kiểu CSS. Để làm như vậy, hãy tạo một lớp CSS “ .div ” cho tất cả các phần tử div:

. div {

đệm : 10px ;

Chiều cao : 100px ;

bề rộng : 100px ;

lề : 10px ;

}

Tạo một ' .trung tâm ” lớp để đặt các phần tử ở giữa trang:

. trung tâm {

lề : Tự động ;

}

Bây giờ, để tạo kiểu, mỗi div sẽ tạo riêng một lớp CSS cho chúng. Đối với div đầu tiên, hãy đặt màu nền “ màu đỏ ' bên trong ' div1Style ' lớp:

. div1Style

{

lai lịch - màu sắc : màu đỏ ;

}

Đối với div thứ hai, hãy đặt màu nền “ củ cải hồng ' sử dụng ' rgb(194, 54, 77) ” mã trong “ div2Style ' lớp:

. div2Style

{

lai lịch - màu sắc : rgb ( 194 , 54 , 77 ) ;

}

Đặt màu nền “ Hồng ” của div thứ ba bằng cách tạo “ div3Style ' lớp:

. div3Style

{

lai lịch - màu sắc : Hồng ;

}

Sau khi chạy mã HTML ở trên, đầu ra sẽ như thế này:

Bây giờ, trong một tệp JavaScript hoặc một “ script ”, hãy sử dụng mã được cung cấp bên dưới để kiểm tra xem event.target có một lớp cụ thể hay không:

tài liệu. addEventListener ( 'nhấp chuột' , xử lý chức năngClick ( Sự kiện ) {

nơi hasClass = biến cố. Mục tiêu . danh sách lớp học . chứa ( 'trung tâm' ) ;

báo động ( 'Div này chứa lớp 'trung tâm':' + hasClass ) ;

} ) ;

Trong đoạn mã trên:

  • Trước tiên, hãy đính kèm trình xử lý sự kiện vào sự kiện nhấp chuột sẽ xử lý mọi nhấp chuột trên DOM.
  • Sau đó, kiểm tra xem sự kiện được kích hoạt có lớp CSS hay không “ trung tâm ” hoặc không với sự trợ giúp của “ classList.class() ' phương pháp.

đầu ra

Ảnh GIF ở trên cho thấy div1 chứa “ trung tâm ” đẳng cấp như nó cho thấy “ thật ”, trong khi div2 và div3 hiển thị “ sai ” trong hộp cảnh báo, có nghĩa là chúng không chứa “ trung tâm ' lớp.

Phương pháp 2: Kiểm tra xem event.target có Lớp cụ thể hay không bằng cách sử dụng phương thức Match()

Một phương thức được xác định trước khác của JavaScript có tên là “ diêm() ” có thể được sử dụng để kiểm tra xem một lớp cụ thể có thuộc về một phần tử hoặc một sự kiện hay không. Các ' tên lớp ” là tham số duy nhất cần thiết để xác định xem một phần tử hoặc một sự kiện đích có bao gồm một lớp nhất định hay không.

cú pháp

Cú pháp dưới đây được sử dụng cho phương thức Match():

biến cố. Mục tiêu . diêm ( '.tên lớp' )

Trong cú pháp trên,

  • sự kiện.mục tiêu ” là một sự kiện được kích hoạt sẽ được kiểm tra xem nó có chứa lớp cụ thể hay không.
  • Các ' tên lớp ” cho biết tên của lớp CSS là một phần của sự kiện được kích hoạt. Phương thức Match() lấy tên của lớp cùng với dấu chấm (.) biểu thị từ “ lớp ”.

Giá trị trả về

Nếu sự kiện đích có một lớp, nó sẽ trả về “ thật ' khác, ' sai ' Được trả lại.

Thí dụ

Trong tệp JavaScript hoặc thẻ tập lệnh, hãy sử dụng các dòng mã bên dưới để kiểm tra xem event.target có một lớp cụ thể hay không bằng cách sử dụng “ diêm() ' phương pháp:

tài liệu. addEventListener ( 'nhấp chuột' , xử lý chức năngClick ( Sự kiện ) {

nơi hasClass = biến cố. Mục tiêu . diêm ( '.div3Style' ) ;

báo động ( 'Lớp của div này khớp với lớp 'div3Style': ' + hasClass ) ;

} ) ;

Trong các dòng mã trên:

  • Trước tiên, hãy đính kèm trình xử lý sự kiện vào sự kiện nhấp chuột sẽ xử lý mọi nhấp chuột trên DOM.
  • Sau đó, kiểm tra xem “ div3Style ” Lớp CSS tồn tại trong một sự kiện được kích hoạt bằng cách sử dụng “ diêm() ' phương pháp.
  • Nếu có, cảnh báo() sẽ hiển thị thông báo với “ thật ', khác ' sai ”.

đầu ra

GIF ở trên cho thấy rằng chỉ có div3 chứa “ div3Style ” đẳng cấp như nó cho thấy “ thật ”.

Sự kết luận

Để xác định xem một sự kiện được kích hoạt có một lớp được chỉ định hay không, hãy sử dụng JavaScript “ chứa() ” phương pháp hoặc “ diêm() ' phương pháp. Tuy nhiên, phương thức chứa () là một trong những cách tiếp cận hữu ích nhất được sử dụng để xác định lớp của phần tử. Cả hai phương thức đều trả về “ thật ” nếu sự kiện được kích hoạt có một lớp khác “ sai ' Được trả lại. Bài đăng này đã giải thích các phương pháp để xác định xem event.target có một lớp cụ thể hay không sử dụng JavaScript.