2011-10-18 8 views

Trả lời

24

Đối với những người tìm kiếm một giải pháp thực tế, xem: How to find event listeners on a DOM node when debugging or from the JavaScript code?


EventListenerList là trong một số dự thảo cũ của DOM 3 sự kiện và được dài ra khỏi spec. Theo tôi biết, ít nhất Gecko vẫn không có bất cứ điều gì như thế này cho các trang web thông thường, mặc dù bây giờ nó có an API for privileged code (extensions) to enumerate listeners (xem https://bugzilla.mozilla.org/show_bug.cgi?id=570678#c0).

Tôi đã xem qua danh sách gửi thư của W3C và có một vài cuộc thảo luận về chủ đề này, nhưng dường như không có trường hợp sử dụng nào được tìm thấy để biện minh cho đối tượng địa lý. Đây là thông báo gần đây nhất tôi có thể tìm thấy:

[...] động lực để thêm chức năng này là gì? Trước đây, nhóm làm việc đã giải quyết để loại bỏ phương thức hasEventListenerNS có liên quan nhưng kém quyền lực hơn vì thiếu trường hợp sử dụng và vì có là các vấn đề bảo mật tiềm ẩn.

(2001) http://lists.w3.org/Archives/Public/w3c-wai-ua/2001OctDec/thread.html#msg89 có một số thảo luận từ cách quay lại khi EventListenerList được xem xét.

(2006) http://lists.w3.org/Archives/Public/www-archive/2006Mar/0032.html đặt câu hỏi cho tác giả của quirksmode, người dường như chịu trách nhiệm về huyền thoại EventListenerList của DOM3 về các trường hợp sử dụng tính năng như vậy; kho lưu trữ không liệt kê câu trả lời.

(2008) thảo luận khác: http://lists.w3.org/Archives/Public/public-webapi/2008Apr/thread.html#msg66

+0

Nếu xử lý được đăng ký sử dụng một thư viện JS hoặc bạn muốn điều này để gỡ lỗi, thấy câu trả lời cho câu hỏi này: http://stackoverflow.com/questions/446892/how -to-find-event-listeners-on-a-dom-node – Nickolay

+1

Nó sẽ là tuyệt vời với một bản cập nhật, nếu ai đó được cập nhật với trạng thái. Nowt it's 2015 :) –

+1

Trường hợp sử dụng của tôi là sao chép một phần tử và trình xử lý sự kiện của nó. Làm thế nào đây không phải là một trường hợp sử dụng rõ ràng? –