Nó phải là có thể phát hiện xử lý sự kiện gắn liền sử dụng <element>.addEventListener()
bằng cách chặn cuộc gọi đến các chức năng:
var myListOfAddedEvents = [];
var realAddEventListener = HTMLElement.prototype.addEventListener;
HTMLElement.prototype.addEventListener = function(evtType,fn,cap) {
myListOfAddedEvents.push(
{on: this, type: evtType, handler: fn, capture: cap}
);
return realAddEventListener.apply(this, arguments);
};
Lưu ý: Đó là mã chưa được kiểm tra và có thể cần một số công việc. Tôi là hy vọng cùng chức năng này sẽ được tất cả các loại phần tử sử dụng, nhưng tôi có thể sai. Ngoài ra, nó sẽ chỉ hoạt động nếu bạn có thể chạy bit này mã trước khi chúng bắt đầu thêm sự kiện. Một bản sao cho attachEvent có thể được xây dựng tương tự.
Và, nếu nhà phát triển sử dụng một cái gì đó như: button.addEventListener (nghe tiếng 'click', buttonPressed, true); trong Mozilla? –
điều này sẽ không hoạt động cho trình xử lý sự kiện được đặt bằng attachEvent hoặc addEventListener. –
Tôi biết điều đó, nhưng kể từ khi OP không xác định làm thế nào ông là dây điều lên, tôi giả định phương pháp DOM 0 làm như vậy. –