Sự kiện (Event) trong JavaScript



Sự kiện là gì?

Sự tương tác của JavaScript với HMTL được xử lý thông qua các sự kiện xảy ra khi người sử dụng hoặc trình duyệt thao tác một trang.

Khi một trang tải, nó được gọi là một sự kiện (Event). Khi người sử dụng click vào một nút, thì click đó cũng là một sự kiện. Các ví dụ về sự kiện khác như nhấn một phím, đóng một cửa sổ, tăng giảm cửa sổ, …

Nhà lập trình có thể sử dụng những sự kiện này để thực thi các phản hồi được mã hóa bởi JavaScript, như các nút để đóng cửa sổ, các thông báo được hiển thị tới người dùng, …

Các sự kiện là một phần của Document Object Model (DOM) Level 3 và mỗi phần tử HTML chứa một tập hợp các sự kiện mà có thể kích hoạt JavaScript Code.

Hy vọng bạn truy cập vào bài hướng dẫn nhỏ của chúng tôi để hiểu sau hơn về Tổng hợp sự kiện (Event) trong HTML. Tại đây, chúng ta sẽ thấy một số ví dụ để hiểu mối quan hệ giữa Sự kiện và JavaScript.

Kiểu sự kiện onclick

Đây là kiểu sự kiện được sử dụng thường xuyên nhất khi một người dùng click chuột trái. Bạn có thể đặt sự xác nhận, cảnh báo, … của bạn đối với kiểu sự kiện này.

Ví dụ

Quảng cáo

Bạn thử ví dụ sau:

<html>
   <head>
      
      <script type="text/javascript">
         <!--
            function sayHello() {
               alert("Hello World")
            }
         //-->
      </script>
      
   </head>
   
   <body>
      <p>Click the following button and see result</p>
      
      <form>
         <input type="button" onclick="sayHello()" value="Xin chao!" />
      </form>
      
   </body>
</html>

Kết quả

Kiểu sự kiện onsubmit

onsubmit là một kiểu sự kiện xảy ra khi bạn cố gắng đệ trình một form. Bạn có thể đặt việc xác nhận form đối với kiểu sự kiện này.

Ví dụ

Ví dụ sau chỉ cách sử dụng onsubmit. Tại đây, chúng ta gọi một hàm validate() trước khi đệ trình một dữ liệu form tới Webserver. Nếu hàm validate() trả về true, form sẽ được đệ trình, nếu không thì nó sẽ không đệ trình dữ liệu.

Bạn thử ví dụ sau:

<html>
   <head>
   
      <script type="text/javascript">
         <!--
            function validation() {
               all validation goes here
               .........
               return either true or false
            }
         //-->
      </script>
      
   </head>
   <body>
   
      <form method="POST" action="t.cgi" onsubmit="return validate()">
         .......
         <input type="submit" value="Submit" />
      </form>
      
   </body>
</html>

Kiểu sự kiện onmouseover và onmouseout

Hai kiểu sự kiện này sẽ giúp bạn tạo các hiệu quả đẹp với hình ảnh hoặc ngay cả với văn bản. Sự kiện onmouseover kích hoạt khi bạn di chuyển chuột qua bất kỳ phần tử nào và onmouseout kích hoạt khi bạn di chuyển chuột ra khỏi phần tử đó. Bạn thử ví dụ sau:

<html>
   <head>
   
      <script type="text/javascript">
         <!--
            function over() {
               document.write ("Mouse Over");
            }
            
            function out() {
               document.write ("Mouse Out");
            }
            
         //-->
      </script>
      
   </head>
   <body>
      <p>Bring your mouse inside the division to see the result:</p>
      
      <div onmouseover="over()" onmouseout="out()">
         <h2> This is inside the division </h2>
      </div>
         
   </body>
</html>

Kết quả

Sự kiện HTML5 chuẩn

Các sự kiện HTML5 chuẩn được liệt kê dưới đây. Tại đây, script chỉ dẫn một hàm JavaScript để được thực thi đối với sự kiện đó.

Thuộc tính Giá trị Miêu tả
Offline script Kích hoạt khi tài liệu ở ngoại tuyến
Onabort script Kích hoạt trên một sự kiện bỏ dở
onafterprint script Kích hoạt sau khi tài liệu được in
onbeforeonload script Kích hoạt trước khi tài liệu tải
onbeforeprint script Kích hoạt trước khi tài liệu được in
onblur script Kích hoạt khi cửa sổ mất trọng tâm
oncanplay script Kích hoạt khi media có thể bắt đầu chơi, nhưng phải dừng để đệm
oncanplaythrough script Kích hoạt khi media có thể chơi tới cuối, mà không dừng để đệm
onchange script Kích hoạt khi một phần tử thay đổi
onclick script Kích hoạt trên một cú click chuột
oncontextmenu script Kích hoạt khi menu ngữ cảnh bị kích hoạt
ondblclick script Kích hoạt khi nhấp đúp chuột
ondrag script Kích hoạt khi một phần tử bị kéo
ondragend script Kích hoạt tại phần cuối của hoạt động kéo
ondragenter script Kích hoạt khi một phần tử đã được kéo tới một mục tiêu thả hợp lệ
ondragleave script Kích hoạt khi một phần tử đang được kéo qua một mục tiêu thả hợp lệ
ondragover script Kích hoạt tại phần đầu của hoạt động kéo
ondragstart script Kích hoạt tại phần đầu của hoạt động kéo
ondrop script Kích hoạt khi phần tử được kéo đang được thả
ondurationchange script Kích hoạt khi độ dài của media được thay đổi
onemptied script Kích hoạt khi phần tử nguồn media đột nhiên trở nên trống
onended script Kích hoạt khi media tiến tới cuối cùng
onerror script Kích hoạt khi một lỗi xảy ra
onfocus script Kích hoạt khi cửa sổ nhận trọng tâm
onformchange script Kích hoạt khi một form thay đổi
onforminput script Kích hoạt khi một form nhận input từ người dùng
onhaschange script Kích hoạt khi tài liệu có thay đổi
oninput script Kích hoạt khi một phần tử nhận đầu vào từ người dùng
oninvalid script Kích hoạt khi một phần tử không hợp lệ
onkeydown script Kích hoạt khi một phím bị nhấn
onkeypress script Kích hoạt khi một phím bị nhấn và được thả ra
onkeyup script Kích hoạt khi một phím được thả ra
onload script Kích hoạt khi tài liệu tải
onloadeddata script Kích hoạt khi dữ liệu media được tải
onloadedmetadata script Kích hoạt khi thời gian và dữ liệu khác của một phần tử media được tải
onloadstart script Kích hoạt khi trình duyệt bắt đầu tải dữ liệu media
onmessage script Kích hoạt khi thông báo được kích hoạt
onmousedown script Kích hoạt khi một nút chuột được nhả ra
onmousemove script Kích hoạt khi con trỏ chuột di chuyển
onmouseout script Kích hoạt khi con trỏ chuột di chuyển ra khỏi một phần tử
onmouseover script Kích hoạt khi con trỏ chuột di chuyển qua một phần tử
onmouseup script Kích hoạt khi một nút chuột được nhả ra
onmousewheel script Kích hoạt khi bánh xe chuột được quay
onoffline script Kích hoạt khi tài liệu ở ngoại tuyến
onoine script Kích hoạt khi tài liệu ở trực tuyến
ononline script Kích hoạt khi tài liệu ở trực tuyến
onpagehide script Kích hoạt khi cửa sổ bị ẩn
onpageshow script Kích hoạt khi cửa sổ trở nên nhìn thấy
onpause script Kích hoạt khi dữ liệu media bị dừng
onplay script Kích hoạt khi dữ liệu media chuẩn bị bắt đầu chơi
onplaying script Kích hoạt khi dữ liệu media đang bắt đầu chơi
onpopstate script Kích hoạt khi lịch sử cửa sổ thay đổi
onprogress script Kích hoạt khi trình duyệt đang nhận dữ liệu media
onratechange script Kích hoạt khi tốc độ chơi của media đã thay đổi
onreadystatechange script Kích hoạt khi trạng thái sẵn sàng thay đổi
onredo script Kích hoạt khi tài liệu thực hiện một redo
onresize script Kích hoạt khi cửa sổ bị thay đổi kích cỡ
onscroll script Kích hoạt khi thanh cuốn của phần tử đang được cuốn
onseeked script Kích hoạt khi thuộc tính seeking của một phần tử media không còn true, và seeking đã kết thúc
onseeking script Kích hoạt khi thuộc tính seeking của một phần tử media là true, và seeking đã bắt đầu
onselect script Kích hoạt khi một phần tử được chọn
onstalled script Kích hoạt khi có một lỗi trong quá trình thu nhận dữ liệu media
onstorage script Kích hoạt khi một tài liệu tải
onsubmit script Kích hoạt khi một form được đệ trình
onsuspend script Kích hoạt khi trình duyệt đã đang thu nhận dữ liệu media, nhưng đã dừng lại trước khi toàn bộ media file được thu nhận
ontimeupdate script Kích hoạt khi media thay đổi vị trí chơi của nó
onundo script Kích hoạt khi một tài liệu thực hiện một undo
onunload script Kích hoạt khi người sử dụng rời khỏi tài liệu
onvolumechange script Kích hoạt khi media thay đổi âm lượng, kể cả khi media được thiết lập là mute
onwaiting script Kích hoạt khi media đã dừng chơi nhưng được mong chờ phục hồi.

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack

Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.

Các bài học JavaScript khác tại VietJack:




Tài liệu giáo viên