Xem tất cả người nghe sự kiện

Đã bao giờ có một số loại xung đột trên một người nghe sự kiện? Hoặc chỉ muốn xem những gì khác đang được thực hiện trên cùng một hành động trên trang. Tùy thuộc vào trình duyệt của bạn, điều này có thể hoặc không thể là chức năng được tích hợp sẵn.

Tích hợp Trình duyệt

Trong Google Chrome, nhấp chuột phải vào trang, truy cập Kiểm tra phần tử. Từ đó, hãy đảm bảo bạn đang ở trên tab Yếu tố và nhấp vào một khối HTML. Trên thanh bên phải, bạn sẽ thấy phần tab nơi bạn có thể nhấp vào Trình nghe sự kiện và xem các hành động mà tài liệu đang nghe. Bạn có thể đi sâu hơn vào từng hành động đó để xem nơi khai báo ban đầu đang diễn ra.
Trong Internet Explorer, tôi tin rằng chúng có chức năng tương tự tích hợp sẵn. Trong FireFox, tôi tin rằng nó yêu cầu một add-on FireBug để xem chức năng đó trong trình duyệt.

getEventListeners

Đây là một phương pháp được đưa trực tiếp vào Chrome và Firebug cho Firefox. Cú pháp: getEventListeners (đối tượng). Vì vậy, kết hợp với jQuery, một ví dụ đơn giản sẽ là:

 getEventListeners ($ ('# container')); 

Chỉ cần chuyển trực tiếp đến bảng điều khiển dành cho nhà phát triển và nhập lệnh đó cho bất kỳ yếu tố nào bạn muốn xem người nghe.
getEventListeners Chrome
getEventListeners Firebug

jQuery

Không có cách nào được hỗ trợ đầy đủ để có được thông tin này trong jQuery nữa. Bạn có thể truy cập một phương thức riêng trong jquery thông qua:

 $ ._ data ($ ('[selector]') [0], 'sự kiện'); 

Thay thế [selector] bằng tham chiếu phần tử thích hợp của bạn. Điều này không được hỗ trợ công khai, không có tài liệu hướng dẫn, và nó có thể ngừng hoạt động với bất kỳ bản phát hành mới nào của jQuery, do đó, không dựa vào nó. Nếu bạn định sử dụng nó, hãy sử dụng nó để gỡ lỗi.

Bookmarklet

Nếu không có điều nào ở trên phù hợp với bạn, có một bookmarklet khá thú vị sẽ cho phép bạn xem trên trang nơi người nghe được đặt. Nếu bạn đến đây, họ sẽ cung cấp bookmarklet để kéo đến thanh trình duyệt của bạn. Đây là cách mà tôi sử dụng thường xuyên nhất vì tôi có thể thấy chính xác nơi người nghe nằm trên trang.

Xem Thêm