1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $.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 ); }); } }); }); }; |
Для использования, необходимо указать прослушиваемый элемент, событие и функцию для вывода результата.
Если вы используете firebug, то в качестве функции вывода можно использовать console.log или console.info
1 2 3 4 5 6 7 8 9 10 | // Прослушиваем событие onclick для всех ссылок: $('a').listHandlers('onclick', console.info); // Прослушиваем все события для всех элементов: $('*').listHandlers('*', console.info); // Используем свою функцию для вывода: $('#whatever').listHandlers('click',function(element,data){ $('body').prepend('<br />' + element.nodeName + ': <br /><pre>' + data + '<\/pre>'); }); |
источник:
Оставьте свой комментарий