debería ser posible detectar controladores de eventos unidos mediante <element>.addEventListener()
mediante la interceptación de llamadas a la función:
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);
};
Nota: Esto es código no probado y pueden necesitar algún trabajo. Estoy esperando esta misma función será utilizada por todos los tipos de elementos, pero podría estar equivocado. También solo funcionará si puede ejecutar este bit de código antes de comienzan a agregar eventos. Una copia para attachEvent podría construirse de manera similar.
Y, si desarrollador utiliza algo como: button.addEventListener ('clic', buttonPressed, true); en Mozilla? –
esto no funcionará para manejadores de eventos establecidos usando attachEvent o addEventListener. –
Estoy al tanto de eso, pero dado que el OP no especificó cómo está conectando las cosas, asumí el método DOM 0 de hacerlo. –