JSPerf của bạn ở đây là kiểm tra tốc độ để đính kèm các sự kiện, không hiệu quả mà họ có về hiệu suất trang tích lũy. Đây là điều sai lầm để kiểm tra!
Sự kiện Javascript lan truyền DOM tất cả các cách tới gốc tài liệu. Điều này có nghĩa là nếu bạn có trình xử lý on("click", ...)
trên document
thì mỗi nhấp chuột trên mọi thành phần trong tài liệu sẽ kết thúc chạy một trình xử lý sự kiện, vì vậy jQuery có thể kiểm tra xem nguồn gốc của nó có phù hợp với mục tiêu đại biểu hay không được chuyển tới trình xử lý sự kiện đó.
Hãy tưởng tượng rằng trang của bạn có 10 trình xử lý sự kiện được ủy quyền khác nhau trên tài liệu, tất cả xử lý các nhấp chuột khác nhau. Mỗi khi bạn nhấp vào bất kỳ phần tử nào trong trang, sự kiện sẽ phát tán đến gốc tài liệu và tất cả 10 trình xử lý đó phải được kiểm tra để tìm ra (nếu có) sẽ được chạy. Nói chung, bạn muốn các sự kiện được ủy nhiệm của bạn càng sâu trong cây càng tốt trong khi vẫn bật chức năng của bạn, vì điều này giới hạn số phần tử có thể gọi sự kiện này và bạn có thể xử lý sự kiện trước đó để ngăn chặn sự kiện đó từ việc nhân lên cây DOM.
Nguồn
2013-07-03 08:42:22
Sự kiện nhấp được đính kèm với liên kết $, tài liệu chỉ là trình lắng nghe cho sự kiện.target – jQuery00