💡 Tôi đã chuẩn bị sẵn trình soạn thảo bên dưới bài viết. Bạn có thể thử nghiệm thoải mái!

Cập nhật: 31 tháng 5 năm 2026

Event Delegation | Hướng dẫn và bài tập

📌

Kết luận

Event Delegation giúp quản lý sự kiện cho cả các phần tử sinh ra sau này

📝 Mã thực tế tại đây
document.getElementById('list').addEventListener('click', (e) => {
  if (e.target.tagName === 'LI') {
    e.target.remove();
  }
});
Thay vì gán sự kiện cho từng mục con, ta gán 1 lần duy nhất cho cha. Khi có mục con mới được thêm vào, nó vẫn sẽ tự động có hiệu ứng này.

Tổng kết

- Gán sự kiện cho phần tử cha để quản lý các con - Dùng e.target để xác định chính xác phần tử nào đã được nhấp vào

Hãy thử trong phần bài tập

Hãy thử kỹ thuật Event Delegation trên danh sách nhé.

🧪 Thử nghiệm tại đây

Bạn có thể viết mã thực tế vào trình soạn thảo bên dưới và xem ngay kết quả. Đừng sợ làm hỏng, bạn có thể thử lại bao nhiêu lần tùy thích.

Thử ngay

■ Bài tập thực hành

Lắng nghe sự kiện click trên ul và xuất nội dung của thẻ li được nhấp.

Gợi ý khi gặp khó khăn

Sử dụng e.target để biết phần tử nào thực sự được nhấp.

25pt

Event Delegation

Lắng nghe sự kiện click trên ul và xuất nội dung của thẻ li được nhấp.

Nhấp vào lỗi để đánh dấu dòng. ✕=lỗi ⚠=cảnh báo ›=log.

Lộ trình học · Toàn bộ bài giảng

Đi sâu bài tập này

"Event Delegation" là bài JavaScript (DOM) mức 中級. Lắng nghe sự kiện click trên ul và xuất nội dung của thẻ li được nhấp. Chạy ngay trên trình duyệt với kiểm tra tự động.

Event Delegation giúp quản lý sự kiện hiệu quả cho nhiều phần tử con cùng lúc. Mẫu tương tự xuất hiện trong review code và UI thực tế.

Kết hợp với lộ trình js-basic. Bài #62 củng cố kỹ năng dom.

Quy trình từng bước

  1. Đọc bài giải thích và nắm mục tiêu "Event Delegation"
  2. Kiểm tra cột JavaScript (DOM) và bắt đầu từ mã mẫu
  3. Mở gợi ý nếu bí, so sánh với lời giải
  4. Bấm Chạy để xem preview/console
  5. Hệ thống kiểm tra có chứa: addEventListener, target, LI.
  6. Sau khi đúng, làm bài trước/sau trong cùng danh mục

Cách đọc mã giải

JavaScript dùng: document.getElementById, console.log, addEventListener. Kiểm tra typo và await. Giải thích: Event Delegation giúp quản lý sự kiện hiệu quả cho nhiều phần tử con cùng lúc. Gợi ý: Sử dụng e.target để biết phần tử nào thực sự được nhấp.

Ứng dụng thực tế & nghề nghiệp

DOM API cho click, form, modal—từ jQuery đến SPA hiện đại.

Lỗi thường gặp

  • Bỏ qua gợi ý: Sử dụng e.target để biết phần tử nào thực sự được nhấp.
  • ID trong getElementById phải khớp từng ký tự với thuộc tính id
  • Sai ID trong getElementById
  • Dùng onClick thay addEventListener
  • Gán textContent khi phần tử null

Xử lý sự cố

Preview không đổi sau khi chạy
Kiểm tra bạn sửa đúng cột JavaScript (DOM) và đã bấm Chạy.
Đúng nhưng không pass
Hệ thống kiểm tra có chứa: addEventListener, target, LI. Kiểm tra typo và thẻ đóng.
Lỗi trên console
Mở DevTools Console, kiểm tra ngoặc và dấu ngoặc kép.
Khó gõ trên điện thoại
Dùng màn ngang hoặc mở cùng URL trên PC.

Mẹo phỏng vấn & portfolio

  • Giải thích kỹ thuật trong "Event Delegation" bằng lời của bạn trong 30 giây
  • Luyện mô tả từng dòng mã giải trên bảng trắng
  • Chuẩn bị một phương án thay thế và lý do chọn cách hiện tại

Thuật ngữ

DOM
Mô hình cây API cho HTML.
getElementById
Lấy phần tử theo id.
addEventListener
Đăng ký sự kiện click…

Từ khóa trên trang này

Trang này là bài tập miễn phí về Event Delegation cho từ khóa: Event Delegation, dom, 中級, document.getElementById, console.log, addEventListener, dom event delegation.

Công cụ liên quan

Lộ trình học

Lộ trình học →

Bài tập liên quan

Câu hỏi thường gặp (FAQ)

Event Delegation có miễn phí không?

Bài tập này hoàn toàn miễn phí và chạy ngay trên trình duyệt. Không cần đăng ký hay thẻ tín dụng.

Độ khó và thời gian?

"Event Delegation" ở mức "中級". Đọc hướng dẫn trước; người mới thường hoàn thành trong 30 phút. Mỗi bài khoảng 5–15 phút. Dùng gợi ý, sau đó xem lời giải nếu bí.

Sau khi đúng làm gì?

Sau khi đúng, dùng liên kết bài tiếp theo. Hoàn thành danh mục rồi sang lộ trình học.

Làm trên điện thoại được không?

Chạy trên trình duyệt di động, nhưng gõ mã trên máy tính tiện hơn.

Bài tập khác ở đâu?

Danh sách bài tập: /vi/learn/ có bộ lọc danh mục.

Điểm cần nhớ trong "Event Delegation"?

Event Delegation giúp quản lý sự kiện hiệu quả cho nhiều phần tử con cùng lúc. Gợi ý: Sử dụng e.target để biết phần tử nào thực sự được nhấp.

Vị trí danh mục dom?

DOM API cho click, form, modal—từ jQuery đến SPA hiện đại.

Các bước cụ thể cho "Event Delegation"?

1. Đọc bài giải thích và nắm mục tiêu "Event Delegation"
2. Kiểm tra cột JavaScript (DOM) và bắt đầu từ mã mẫu
3. Mở gợi ý nếu bí, so sánh với lời giải
4. Bấm Chạy để xem preview/console
5. Hệ thống kiểm tra có chứa: addEventListener, target, LI.
6. Sau khi đúng, làm bài trước/sau trong cùng danh mục

Cách đọc mã giải?

JavaScript dùng: document.getElementById, console.log, addEventListener. Kiểm tra typo và await.

Giải thích: Event Delegation giúp quản lý sự kiện hiệu quả cho nhiều phần tử con cùng lúc.

Gợi ý: Sử dụng e.target để biết phần tử nào thực sự được nhấp.

Khi gặp sự cố?

Preview không đổi sau khi chạy → Kiểm tra bạn sửa đúng cột JavaScript (DOM) và đã bấm Chạy.
Đúng nhưng không pass → Hệ thống kiểm tra có chứa: addEventListener, target, LI. Kiểm tra typo và thẻ đóng.
Lỗi trên console → Mở DevTools Console, kiểm tra ngoặc và dấu ngoặc kép.
Khó gõ trên điện thoại → Dùng màn ngang hoặc mở cùng URL trên PC.

Liên quan nghề nghiệp?

Giải thích kỹ thuật trong "Event Delegation" bằng lời của bạn trong 30 giây Luyện mô tả từng dòng mã giải trên bảng trắng Chuẩn bị một phương án thay thế và lý do chọn cách hiện tại