Delegation Là Gì

  -  

Video học lập trình từng ngày

Event delegation, bubbling, cùng capturing là gì? Sự khác hoàn toàn của 3 sự kiện này trong javascript. Nếu vấn đáp được thì bỏ lỡ câu 3 cùng 7.

Bạn đang xem: Delegation là gì

Đây là trong nhiều thắc mắc mà tôi cảm nhận trong tập tư liệu để phỏng vấn. Quan sát vào bao gồm 10 câu, hầu hết là tuyển fresher nhưng mà khi tôi đọc mang đến câu 2 thì lưu ý đến một chút. Tôi nhớ rằng đã biết hay là không biết mông lung quá nên khắc ghi bài này dành riêng cho tôi. Các bạn không bắt buộc đọc.

Event Delegation là gì

Thực tế uỷ quyền là phó thác mang lại ai đó thực hiện cái của bản thân mình để đi giao dịch thanh toán hay hội đàm gì đó. Giống như trong gia đình có 5 anh em, cha mẹ chia mang đến 5 miếng khu đất trong vườn. 5 bằng hữu thống độc nhất uỷ quyền cho Anh nhì ( nghỉ ngơi bắc với trung điện thoại tư vấn là Anh cả ) đi làm sổ riêng thông qua sổ bự của ba mẹ. Call là uỷ quyền. Vậy hiểu trong nghệ thuật là:

Event Delegation là 1 trong kỹ thuật được áp dụng để lắng nghe các sự khiếu nại con. Có nghĩa là bạn uỷ quyền cho thành phần mẹ có thể lắng nghe các sự kiện bên trong nó.

Xem thêm: Tìm Danh Bạ Điện Thoại Trên Google Cho Android, Ios Nhanh Nhất

Ví dụ: vào div element-parent có rất nhiều input hiện thời muốn lắng nghe toàn bộ, người con nào nhưng hu hí là biết liền, code như vậy:

var size = document.querySelector("#element-parent");// Lắng nghe tất cả các sự kiện input gồm trong #element-parentform.addEventListener("input", function (event) // Log mọi gì nuốm đổi, của ai, làm gì??? console.log(event.target);, false);

Event Bubbling là gì

Bubbling (sủi bọt) tôi biết hơi rõ, vày nó liên quan đến rò rỉ cỗ nhớ. Nhưng tại chỗ này hiểu đơn giản dễ dàng như nuốm này. Ai uống bia thì biết cách buổi giao lưu của Event Bubbling này. Quan giáp ly bia, khi nó sủi bọt bong bóng thì bọt từ ở bên dưới sủi lên, cho đến khi tràn cốc bia nhưng thôi. Nghĩa là 1 trong những sự kiện được kích hoạt, thì thân phụ mẹ, tổ tiên nó được kích hoạt luôn. Tương tự, div > body toàn thân > html > document > window.

Ví dụ: gồm 3 thành phần bên dưới.

Xem thêm: Liên Minh Huyền Thoại Confessions, League Of Legends Confessions

FORM
DIV P


Event Bubbling là gì

Event Capturing là gì?

Tôi thấy đây khôn xiết giống với sự kiện Bubbling. Chỉ khác là tham số false và true là tham số cuối cùng. Tuy nhiên theo tôi tìm hiểu thì khi chúng ta sử dụng Bubbling thì tất cả những sự kiện bạn bắt buộc lắng nghe được, lấy ví dụ như như event focus của input. Ví dụ:

document.addEventListener("focus", function (event) console.log(event.target);, false);Event này không lúc nào chạy khi sử dụng event Bubbling. Chính vì vậy new nhờ đến sự kiện Capturing, đối số ở đầu cuối của addEventListener() đó là useCapture. Chỉ việc chỉnh sửa lại đối số sau cùng là hoàn toàn có thể ok

document.addEventListener("focus", function (event) console.log(event.target);, true);Đối với các sự khiếu nại sủi bọt, hãy để nó thành true để lưu lại sự kiện.