$.fn.listHandlers = function(events, outputFunction) {
return this.each(function(i){
var elem = this,
dEvents = $(this).data('events');
if (!dEvents) {return;}
$.each(dEvents, function(name, handler){
if((new RegExp('^(' + (events === '*' ? '.+' : events.replace(',','|').replace(/^on/i,'')) + ')$' ,'i')).test(name)) {
$.each(handler, function(i,handler){
outputFunction(elem, '\n' + i + ': [' + name + '] : ' + handler );
});
}
});
});
};
Ejemplo de uso:
//lista todos los manejadores de onclick de los a:
$('a').listHandlers('onclick', console.info);
//lista todos los managejadores de todos los elementos:
$('*').listHandlers('*', console.info);
//especifica la funcion de salida:
$('#whatever').listHandlers('click',function(element,data){
$('body').prepend('
' + element.nodeName + ':
' + data + '
');
});
vía: http://james.padolsey.com/javascript/debug-jquery-events-with-listhandlers
No hay comentarios:
Publicar un comentario