Site icon Blog Dương Trạng

Tìm hiểu sự kiện trong javascript

Khi làm việc với JavaScript, bạn sẽ thường xuyên gặp phải các sự kiện (events). Vậy sự kiện là gì? Và vai trò của sự kiện như thế nào?

Để hiểu sâu hơn về khái niệm này, hãy xem một ví dụ từ thực tế. Giả sử ngày mai có một sự kiện là Sinh nhật của bạn bè. Để tham gia sự kiện này, chúng ta phải làm những hành động như đến nhà bạn bè, mua quà (không mua cũng không sao, haha). Vì vậy, sự kiện thực tế sẽ có thời gian (ngày mai), địa điểm (nhà bạn bè), và các hành động (mua quà, tham gia sinh nhật).

Tương tự, trong JavaScript, chúng ta không thể biết chính xác sự kiện sẽ xảy ra vào thời điểm nào. Sự kiện chỉ xảy ra khi người dùng thực hiện một hành động. Tuy nhiên, chúng ta không cần phải quan tâm đến thời gian xảy ra sự kiện đó.

Giống như việc lập lịch theo thời gian trong thực tế (chủ nhật là ngày nghỉ, thứ 2 là ngày làm việc, đến sinh nhật của bạn thì tham gia sinh nhật), trong JavaScript chúng ta sẽ lập danh sách công việc dựa trên các sự kiện. Khi người dùng nhập liệu, chúng ta kiểm tra tính hợp lệ của dữ liệu và hiển thị thông báo nếu cần. Hoặc khi người dùng di chuyển chuột xung quanh một nút mà không biết làm gì, chúng ta có thể hiển thị thông báo “Hãy click vào nút này”.

Các sự kiện thường được kết hợp với các chức năng, và chức năng đó sẽ không được thực hiện cho đến khi sự kiện xảy ra. Bây giờ hãy cùng tìm hiểu về các sự kiện trong JavaScript.

Sự kiện chuột (mouse)

Các sự kiện thường được sử dụng

Khi sử dụng chuột, chúng ta thường thực hiện các hành động như di chuyển chuột, click chuột, double-click chuột, click chuột phải,… Tương ứng với các hành động này, trong JavaScript cũng có các sự kiện sau:

Bạn sẽ hiểu rõ hơn về sự kiện click chuột khi xem ví dụ sau:
Lưu ý:
– Khi người dùng click chuột, double-click chuột, hoặc right-click chuột, sẽ kích hoạt sự kiện onmousedown và onmouseup kèm theo các sự kiện tương ứng.
– Sự kiện onmousedown và onmouseup xảy ra trước sự kiện onclick, ondblclick, và oncontextmenu.
– Trường hợp người dùng nhấn chuột vào một phần tử nhưng di chuyển chuột ra khỏi phần tử và sau đó nhả nút chuột, sẽ kích hoạt sự kiện onmousedown, nhưng không kích hoạt sự kiện onclick trên phần tử đó. Chức năng của sự kiện click chuột trên phần tử đó sẽ không được thực hiện. Sự kế tiếp là khi người dùng nhả nút chuột ở một vị trí khác, sẽ kích hoạt sự kiện onmouseup và onclick, và chức năng click chuột sẽ được thực hiện.
– Khi người dùng double-click chuột, nghĩa là văn bản mà họ double-click sẽ được bôi đen. Để ngăn chặn điều này, chúng ta có thể sử dụng thuộc tính “user-select: none;” trong CSS. Xem ví dụ dưới đây.

Ví dụ:

onmouseenter: Di chuột qua đây!

onmouseover: Di chuột qua đây!

Sự kiện tương ứng với onmouseenter và onmouseover là onmouseleave và onmouseout.

Các thuộc tính cơ bản

Sự kiện bàn phím (Keyboard)

Các sự kiện thường dùng

Các thuộc tính cơ bản

Sự kiện khung (Frame)

Sự kiện form

Đối với ô nhập liệu, khi người dùng thay đổi giá trị và di chuyển ra khỏi ô đó (blur), sự kiện onchange sẽ được kích hoạt.

Tuy nhiên, khi người dùng nhập dữ liệu vào ô input hoặc textarea và chúng ta cần lấy giá trị đó để validate, chúng ta sẽ sử dụng sự kiện oninput dưới đây.

Sự kiện kéo thả (Drag, Drop)

Sự kiện này cho phép chúng ta kéo một phần tử và thả nó vào vị trí khác. Các phần tử có thể kéo thả được phải có thuộc tính draggable=”true”. Ví dụ:

Ví dụ về kéo thả một phần tử div:

Sự kiện Clipboard

Các hàm sử dụng trong sự kiện:

Tên:

Exit mobile version