Event trong Javascript
1. Sự kiện trong javascript là gì?
Về định nghĩa dưới dạng nghe hiểu thì sự kiện là một hành động nào đó tác động lên đối tượng HTML mà ta có thể bắt được sự kiện này và thực hiện những hành động nào đó.
Mỗi sự kiện chúng ta có thể có nhiều hành động. Ví dụ bạn có một sự kiện là tết âm lịch thì bạn sẽ có những hành động trong sự kiện đó là mua đồ mới, dọn dẹp nhà cửa, mua bao lì xì, ..
Xét về mặt thực tế thì ta có dụ thế này: Giả sử bạn xây dựng một form đăng ký tài khoản và bạn muốn bắt sự kiện khi người dùng CLICK vào button đăng ký thì hiện những hành động như validate dữ liệu, thông báo nếu người dùng nhập nội dung không đúng, .. Như vậy bạn cần nhớ rằng mỗi sự kiện chúng ta có thể thực hiện nhiều hành động khác nhau và bao nhiêu hành động thì phụ thuộc vào từng chức năng cụ thể.
2. Các sự kiện (Events) trong javascrpt
Sau khái niệm sự kiện là gì thì chắc hẳn bạn đang nôn nóng muốn biết sự kiện trong javascript là gì rồi nhỉ? Ok ta bắt đầu ngay luôn.
Có rất nhiều sự kiện và mỗi đối tượng HTML thì lại có những sự kiện khác nhau nên mình chỉ liệt kê được những sự kiện thông dụng hay sử dụng khi các bạn làm việc với javascript để lập trình phía client.
Bảng các sự kiện thông dụng trong javascript.
STT | Event Name | Description |
---|---|---|
1 | onclick | Xảy ra khi click vào thẻ HTML |
2 | ondbclick | Xảy ra khi double click vào thẻ HTML |
3 | onchange | Xảy ra khi giá trị (value) của thẻ HTML đổi. Thường dùng trong các đối thẻ form input |
4 | onmouseover | Xảy ra khi con trỏ chuột bắt đầu đi vào thẻ HTML |
5 | onmouseout | Xảy ra khi con trỏ chuột bắt đầu rời khỏi thẻ HTML |
6 | onmouseenter | Tương tự như onmouseover |
7 | onmouseleave | Tương tự như onmouseout |
8 | onmousemove | Xảy ra khi con chuột di chuyển bên trong thẻ HTML |
9 | onkeydown | Xảy ra khi gõ một phím bất kì vào ô input |
10 | onload | Sảy ra khi thẻ HTML bắt đầu chạy, nó giống như hàm khởi tạo trong lập trình hướng đối tượng vậy đó. |
11 | onkeyup | Xảy ra khi bạn gõ phím nhưng lúc bạn nhã phím ra sẽ được kích hoạt |
12 | onkeypress | Xảy ra khi bạn nhấn môt phím vào ô input |
14 | onblur | Xảy ra khi con trỏ chuột rời khỏi ô input |
15 | oncopy | Xảy ra khi bạn copy nội dung của thẻ |
16 | oncut | Xảy ra khi bạn cắt nội dung của thẻ |
17 | onpaste | Xảy ra khi bạn dán nội dung vào thẻ |
Ok bây giờ ta sẽ làm một số ví dụ để các bạn thực hành nhé.
3. Các ví dụ về xử lý sự kiện trong javascript
Ví dụ 1: Viết chương trình gồm một ô input và một thẻ div dùng để hiển thị nội dung (giá trị của ô input) khi người dùng gõ vào ô input
Vì đề bài yêu cầu khi nhập dữ liệu vào ô input thì hiển thị nội dung bên trong thẻ
DIV
nên ta có thể sử dụng sự kiện onkeyup
. Thứ hai nữa là chúng ta sẽ sử dụng các hàm DOM Element để truy xuất các đối tượng HTML.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| <html> <body> <script language= "javascript" > // Hàm show kết quả function show_result() { // Lấy hai thẻ HTML var input = document.getElementById( "message" ); var div = document.getElementById( "result" ); // Gán nội dung ô input vào thẻ div div.innerHTML = input.value; } </script> <input type= "text" id= "message" value= "" onkeyup= "show_result()" /> <div id= "result" ></div> </body> </html> |
Nếu như bài này bạn sử dụng sự kiện
onkeypress
hoặc onkeydown
thì sẽ có kết quả sai, lý do là những sự kiện này xảy ra khi bạn nhấn phím xuống nên nó sẽ lấy giá trị chưa được cập nhật. Còn sự kiện onkeyup
xảy ra khi bạn nhả phím ra nên nó sẽ lấy được giá trị mới.
Ví dụ 2: Viết chương trình khi người dùng copy nội dung của website thì thông báo là bạn đã copy thành công
Bài này quá dễ phải không nào. Trong danh sách các sự kiện trên thì có sự kiện oncopy nên ta sẽ sử dụng nó để giải bài này.
1
2
3
4
5
6
7
8
9
10
11
12
13
| <html> <body> <script language= "javascript" > // Hàm show kết quả function show_message() { alert( "Bạn đã copy thành công" ); } </script> <h3>Hãy copy dòng chữ dưới đây:</h3> <div oncopy= "show_message()" >Chào mừng các bạn đến với website dancongnghe.com</div> </body> </html> |
Ví dụ 3: Viết chương trình tính tổng của hai số nhập vào (tính tự động)
Bài này ta phải tạo 3 ô input và gán sự kiện
onkeyup
cho 2 ô input đầu tiên, trong sự kiện này sẽ thực hiện tính tổng của hai ô và in kết quả vào ô input thứ 3.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| <html> <body> <script language= "javascript" > // Hàm tính kết quả function tinh() { // Lấy 3 ô input var a = document.getElementById( "a" ); var b = document.getElementById( "b" ); var result = document.getElementById( "result" ); // Tính tổng hai ô đầu tiên var tong = parseInt(a.value) + parseInt(b.value); // Gán giá trị vào ô thứ ba // Phải kiểm tra tổng hai số này có bị lỗi hay không if (!isNaN(tong)){ result.value = tong; } } </script> a: <input type= "text" id= "a" value= "" onkeyup= "tinh()" /> b: <input type= "text" id= "b" value= "" onkeyup= "tinh()" /> Kết quả: <input type= "text" id= "result" value= "" /> </body> </html> |
4. Lời kết
Làm việc với Javascript thì không thể quên khái niệm event được nên hãy học chắc bài này nhé các bạn. Mình không thể đưa ra hết ví dụ cho các events được nên bạn hãy tự ra bài tập cho mình và tự giải nhé. Riêng nội dung trong bài này mình có sử dụng kiến thúc bài học cũ nên bạn rất dễ theo dõi, nếu quên thì hãy quay lại bài cũ và đọc sư qua rồi thực hành ví dụ. Chúc bạn học javascript vui vẻ nhé!
Event trong Javascript
Reviewed by Unknown
on
05:00
Rating:
Không có nhận xét nào: