Khoá học: Thiết lập dự án Wordpress

Nếu bạn đang tìm kiếm một cách nhanh chóng và hiệu quả để thiết lập một trang web cá nhân hoặc doanh nghiệp của mình, hãy bắt đầu với WordPress. Được coi là nền tảng quản lý nội dung (CMS) phổ biến nhất trên thế giới, WordPress cho phép bạn dễ dàng tạo ra một [...]

JavaScript Bài 19: Sự kiện (Event) trong JavaScript

1) Sự kiện là gì !?

– Thông thường, sự kiện là những hành động của người dùng khi tương tác lên phần tử HTML.

Ví dụ:

  • Khi người dùng click chuột vào phần tử, đó là một sự kiện.
  • => Ví dụ, bạn hãy thử
  • Khi người dùng gõ văn bản vào textfield, đó là một sự kiện.
  • => Ví dụ, bạn hãy thử
  • Khi người dùng di chuyển con trỏ vào phần tử, đó là một sự kiện.
  • => Ví dụ, bạn hãy thử

    Di chuyển con trỏ vào đây

  • ….

2) Các sự kiện trong JavaScript

– Trong JavaScript, mỗi sự kiện sẽ tương ứng với một cái tên.

– Dưới đây là danh sách một vài sự kiện phổ biến mà ta thường dùng trong JavaScript.

Tên sự kiệnMô tả
onclickSự kiện xảy ra khi người dùng click chuột vào phần tử
ondblclickSự kiện xảy ra khi người dùng click kép chuột vào phần tử
onmouseenterSự kiện xảy ra khi người dùng di chuyển con trỏ vào phần tử
onmouseleaveSự kiện xảy ra khi người dùng di chuyển con trỏ ra khỏi phần tử.
onkeydownSự kiện xảy ra khi người dùng đang nhấn một phím
onkeyupSự kiện xảy ra khi người dùng nhả phím ra
oncopySự kiện xảy ra khi người dùng sao chép nội dung của phần tử
oncutSự kiện xảy ra khi người dùng cắt nội dung của phần tử
onpasteSự kiện xảy ra khi người dùng dán nội dung vào phần tử
onchangeSự kiện xảy ra khi người dùng thay đổi giá trị của phần tử

Bạn sẽ được tìm hiểu đầy đủ tất cả các sự kiện trong bài hướng dẫn nâng cao về sự kiện

3) Bắt sự kiện là gì !?

“Bắt sự kiện” là khi một sự kiện nào đó xảy ra thì ta muốn JavaScript phản ứng lại với sự kiện đó bằng việc thực thi một đoạn mã xác định.

– Ví dụ, tôi muốn khi người dùng thì câu lệnh alert(‘Xin chào JavaScript’) sẽ được thực thi.

– Ví dụ, tôi muốn:

– Khi người dùng di chuyển con trỏ vào phần tử này thì màu nền của phần tử này sẽ chuyển sang màu hồng (tức là câu lệnh this.style.backgroundColor=’pink’ được thực thi)

– Khi người dùng di chuyển con trỏ ra khỏi phần tử này thì màu nền của phần tử này sẽ chuyển sang màu trắng (tức là câu lệnh this.style.backgroundColor=’white’ được thực thi)

4) Cách bắt sự kiện trong JavaScript

– Trước khi bắt sự kiện thì ta cần phải xác định rõ ba thành phần:

  • (1) Phần tử dùng để xảy ra sự kiện.
  • (2) Sự kiện sẽ xảy ra.
  • (3) Đoạn mã sẽ được thực thi khi sự kiện xảy ra.

– Dưới đây là cú pháp dùng để bắt sự kiện:

<Tên-phần-tử Tên-sự-kiện="đoạn mã sẽ được thực thi khi sự kiện xảy ra">
Ví dụ:

Khi người dùng click kép chuột vào nút “Xem kết quả” thì đoạn mã:

var a = 100;
var b = 50;
var result = (a + b)*2;
alert(‘Kết quả của biểu thức là: ‘ + result)
sẽ được thực thi.


<!DOCTYPE html>
<html>
<body>
    <button ondblclick="var a = 100;var b = 50;var result = (a + b)*2;alert('Kết quả của biểu thức là: ' + result)">Xem kết quả</button>
</body>
</html>

Xem ví dụ

Ví dụ:

Khi người dùng click chuột vào nút “Xin chào” thì hàm hello() sẽ được thực thi


<!DOCTYPE html>
<html>
<body>
    <button onclick="hello()">Xin chào</button>
    <p id="demo"></p>
    <script>
        function hello(){
            var name = "Nguyễn Thành Nhân";
            var year = 1993;
            var str = "Tôi tên " + name + " sinh năm " + year;
            document.getElementById("demo").innerHTML = str;
        }
    </script>
</body>
</html>

Xem ví dụ

Lưu ý: Với cùng một phần tử, ta có thể bắt cho nó nhiều sự kiện.

Ví dụ:

Phần tử <div> có id là demo bên dưới được bắt hai sự kiện:

  • Khi người dùng di chuyển con trỏ vào nó thì sự kiện onmouseenter xảy ra và câu lệnh this.style.backgroundColor=’yellow’ sẽ được thực thi.
  • Khi người dùng di chuyển con trỏ vào nó thì sự kiện onmouseleave xảy ra và câu lệnh this.style.backgroundColor=’gray’ sẽ được thực thi.

<!DOCTYPE html>
<html>
<head>
    <style type="text/css">
        #demo{
            width:300px;
            height:200px;
            background-color:gray;
        }
    </style>
</head>
<body>
    <div id="demo" onmouseenter="this.style.backgroundColor='yellow'" onmouseleave="this.style.backgroundColor='gray'"></div>
</body>
</html>

Xem ví dụ

Lưu ý:

  • Nếu đoạn mã được viết bên trong bên trong cặp dấu nháy kép thì trong đoạn mã tuyệt đối không được chứa ký tự là dấu nháy kép.
  • Nếu đoạn mã được viết bên trong bên trong cặp dấu nháy đơn thì trong đoạn mã tuyệt đối không được chứa ký tự là dấu nháy đơn.
Ví dụ:

<button onclick="alert("Hello")">Xin chào</button> <!-- SAI -->
<button onclick='alert('Hello')'>Xin chào</button> <!-- SAI -->
<button onclick="alert('Hello')">Xin chào</button> <!-- ĐÚNG -->
<button onclick='alert("Hello")'>Xin chào</button> <!-- ĐÚNG -->

5) Một số ví dụ khác

Ví dụ:

<!DOCTYPE html>
<html>
<body>
    <input type="text" onkeydown="this.style.backgroundColor='pink'" onkeyup="this.style.backgroundColor='yellow'" placeholder="gõ ký tự vào đây">
</body>
</html>

Xem ví dụ

Ví dụ:

<!DOCTYPE html>
<html>
<body>
    <textarea cols="50" rows="15" oncopy="alert('Bạn vừa sao chép nội dung của phần tử này')" oncut="alert('Bạn vừa cắt nội dung của phần tử này')" onpaste="alert('Bạn vừa dán nội dung vào phần tử này')">Tài liệu hướng dẫn học lập trình web</textarea>
</body>
</html>

Xem ví dụ

Ví dụ:

<!DOCTYPE html>
<html>
<body>
    <select onchange="alert('Bạn vừa thay đổi giá trị của phần tử này')">
        <option value="html">HTML</option>
        <option value="css">CSS</option>
        <option value="javascript">JavaScript</option>
        <option value="mysql">MySQL</option>
        <option value="php">PHP</option>
    </select>
</body>
</html>

Xem ví dụ

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *